// $ANTLR 3.3 Nov 30, 2010 12:50:56 C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g 2011-09-22 01:36:27

    package agh.tk.markuptranslation;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;


import org.antlr.runtime.tree.*;

public class MediaWikiParser extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "NEWLINE", "HORIZONTALRULE", "BOLDSYMBOL", "ITALICSYMBOL", "BOLDANDITALIC", "DELETED", "DELETEDC", "UNDERLINESYMBOL", "FOOTNOTESYMBOL", "FOOTNOTESYMBOLC", "NEWLINESYMBOL", "LINKSYMBOL", "ADDRESS", "LINKTEXTSYMBOL", "LINKSYMBOLC", "MAIL", "HEADLINESYMBOL", "WHITESPACE", "WORD", "PUNCTUATIONMARK", "NUMBER", "SPECIALPUNCTUATIONMARK", "IMAGESYMBOL", "SIZE", "IMAGESYMBOLC", "LISTSYMBOL", "QUOTINGSYMBOL", "HEADERTABLESYMBOL", "NOWIKI", "NOWIKIC", "NOWIKI2", "CODE", "CODEC", "FILE", "FILEC", "CODESECTION", "HTML", "HTMLC", "HTML2", "HTML2C", "PHP", "PHPC", "PHP2", "PHP2C", "MARKUP", "NOCACHE", "NOTOC", "PREFORMATTED", "SUBSCRIPT", "SUBSCRIPTC", "SUPERSCRIPT", "SUPERSCRIPTC", "LETTER", "DIGIT", "NEWLINE_OR_CODESECTION", "REVERSE", "AUTHOR", "DATE", "DESCRIPTION"
    };
    public static final int EOF=-1;
    public static final int NEWLINE=4;
    public static final int HORIZONTALRULE=5;
    public static final int BOLDSYMBOL=6;
    public static final int ITALICSYMBOL=7;
    public static final int BOLDANDITALIC=8;
    public static final int DELETED=9;
    public static final int DELETEDC=10;
    public static final int UNDERLINESYMBOL=11;
    public static final int FOOTNOTESYMBOL=12;
    public static final int FOOTNOTESYMBOLC=13;
    public static final int NEWLINESYMBOL=14;
    public static final int LINKSYMBOL=15;
    public static final int ADDRESS=16;
    public static final int LINKTEXTSYMBOL=17;
    public static final int LINKSYMBOLC=18;
    public static final int MAIL=19;
    public static final int HEADLINESYMBOL=20;
    public static final int WHITESPACE=21;
    public static final int WORD=22;
    public static final int PUNCTUATIONMARK=23;
    public static final int NUMBER=24;
    public static final int SPECIALPUNCTUATIONMARK=25;
    public static final int IMAGESYMBOL=26;
    public static final int SIZE=27;
    public static final int IMAGESYMBOLC=28;
    public static final int LISTSYMBOL=29;
    public static final int QUOTINGSYMBOL=30;
    public static final int HEADERTABLESYMBOL=31;
    public static final int NOWIKI=32;
    public static final int NOWIKIC=33;
    public static final int NOWIKI2=34;
    public static final int CODE=35;
    public static final int CODEC=36;
    public static final int FILE=37;
    public static final int FILEC=38;
    public static final int CODESECTION=39;
    public static final int HTML=40;
    public static final int HTMLC=41;
    public static final int HTML2=42;
    public static final int HTML2C=43;
    public static final int PHP=44;
    public static final int PHPC=45;
    public static final int PHP2=46;
    public static final int PHP2C=47;
    public static final int MARKUP=48;
    public static final int NOCACHE=49;
    public static final int NOTOC=50;
    public static final int PREFORMATTED=51;
    public static final int SUBSCRIPT=52;
    public static final int SUBSCRIPTC=53;
    public static final int SUPERSCRIPT=54;
    public static final int SUPERSCRIPTC=55;
    public static final int LETTER=56;
    public static final int DIGIT=57;
    public static final int NEWLINE_OR_CODESECTION=58;
    public static final int REVERSE=59;
    public static final int AUTHOR=60;
    public static final int DATE=61;
    public static final int DESCRIPTION=62;

    // delegates
    // delegators


        public MediaWikiParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public MediaWikiParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        
    protected TreeAdaptor adaptor = new CommonTreeAdaptor();

    public void setTreeAdaptor(TreeAdaptor adaptor) {
        this.adaptor = adaptor;
    }
    public TreeAdaptor getTreeAdaptor() {
        return adaptor;
    }

    public String[] getTokenNames() { return MediaWikiParser.tokenNames; }
    public String getGrammarFileName() { return "C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g"; }


    public static class start_return extends ParserRuleReturnScope {
        public DataModel value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "start"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:14:1: start returns [DataModel value] : node= mediaWikiFile ;
    public final MediaWikiParser.start_return start() throws RecognitionException {
        MediaWikiParser.start_return retval = new MediaWikiParser.start_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        MediaWikiParser.mediaWikiFile_return node = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:14:33: (node= mediaWikiFile )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:15:3: node= mediaWikiFile
            {
            root_0 = (Object)adaptor.nil();

            pushFollow(FOLLOW_mediaWikiFile_in_start50);
            node=mediaWikiFile();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
             retval.value = (node!=null?node.value:null); 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "start"

    public static class mediaWikiFile_return extends ParserRuleReturnScope {
        public DataModel value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "mediaWikiFile"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:19:1: mediaWikiFile returns [DataModel value] : (node1= mediaWikiMarkupSection node2= mediaWikiFile | node3= textBlock node4= mediaWikiFile | NEWLINE node5= mediaWikiFile | () );
    public final MediaWikiParser.mediaWikiFile_return mediaWikiFile() throws RecognitionException {
        MediaWikiParser.mediaWikiFile_return retval = new MediaWikiParser.mediaWikiFile_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE1=null;
        MediaWikiParser.mediaWikiMarkupSection_return node1 = null;

        MediaWikiParser.mediaWikiFile_return node2 = null;

        MediaWikiParser.textBlock_return node3 = null;

        MediaWikiParser.mediaWikiFile_return node4 = null;

        MediaWikiParser.mediaWikiFile_return node5 = null;


        Object NEWLINE1_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:19:41: (node1= mediaWikiMarkupSection node2= mediaWikiFile | node3= textBlock node4= mediaWikiFile | NEWLINE node5= mediaWikiFile | () )
            int alt1=4;
            switch ( input.LA(1) ) {
            case HORIZONTALRULE:
            case BOLDSYMBOL:
            case ITALICSYMBOL:
            case BOLDANDITALIC:
            case UNDERLINESYMBOL:
            case FOOTNOTESYMBOL:
            case NEWLINESYMBOL:
            case LINKSYMBOL:
            case ADDRESS:
            case MAIL:
            case HEADLINESYMBOL:
            case IMAGESYMBOL:
            case LISTSYMBOL:
            case QUOTINGSYMBOL:
            case HEADERTABLESYMBOL:
            case NOWIKI:
            case NOWIKI2:
            case CODE:
            case FILE:
            case CODESECTION:
            case HTML:
            case HTML2:
            case PHP:
            case PHP2:
            case MARKUP:
            case NOCACHE:
            case NOTOC:
                {
                alt1=1;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt1=2;
                }
                break;
            case NEWLINE:
                {
                alt1=3;
                }
                break;
            case EOF:
            case NOWIKIC:
            case CODEC:
            case FILEC:
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:20:2: node1= mediaWikiMarkupSection node2= mediaWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_mediaWikiMarkupSection_in_mediaWikiFile74);
                    node1=mediaWikiMarkupSection();

                    state._fsp--;

                    adaptor.addChild(root_0, node1.getTree());
                    pushFollow(FOLLOW_mediaWikiFile_in_mediaWikiFile78);
                    node2=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node2.getTree());
                     retval.value = new DataModel((node1!=null?node1.value:null), (IComponent)(node2!=null?node2.value:null)) ; 

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:22:4: node3= textBlock node4= mediaWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_mediaWikiFile90);
                    node3=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, node3.getTree());
                    pushFollow(FOLLOW_mediaWikiFile_in_mediaWikiFile94);
                    node4=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node4.getTree());
                     retval.value = new DataModel(new Text((node3!=null?input.toString(node3.start,node3.stop):null), null), (IComponent)(node4!=null?node4.value:null)) ; 

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:24:4: NEWLINE node5= mediaWikiFile
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE1=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_mediaWikiFile104); 
                    NEWLINE1_tree = (Object)adaptor.create(NEWLINE1);
                    adaptor.addChild(root_0, NEWLINE1_tree);

                    pushFollow(FOLLOW_mediaWikiFile_in_mediaWikiFile108);
                    node5=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, node5.getTree());
                     retval.value = new DataModel(new Text("\n", null), (IComponent)(node5!=null?node5.value:null)) ; 

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:26:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:26:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:26:5: 
                    {
                    }

                     retval.value = null ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "mediaWikiFile"

    public static class mediaWikiMarkupSection_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "mediaWikiMarkupSection"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:29:1: mediaWikiMarkupSection returns [IComponent value] : (node1= php | node2= markupSection | node3= list | node4= footnoteText | node123= boldAndItalicText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki | node= horizontalRule ) ;
    public final MediaWikiParser.mediaWikiMarkupSection_return mediaWikiMarkupSection() throws RecognitionException {
        MediaWikiParser.mediaWikiMarkupSection_return retval = new MediaWikiParser.mediaWikiMarkupSection_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        MediaWikiParser.php_return node1 = null;

        MediaWikiParser.markupSection_return node2 = null;

        MediaWikiParser.list_return node3 = null;

        MediaWikiParser.footnoteText_return node4 = null;

        MediaWikiParser.boldAndItalicText_return node123 = null;

        MediaWikiParser.noCache_return node5 = null;

        MediaWikiParser.noToc_return node6 = null;

        MediaWikiParser.html_return node7 = null;

        MediaWikiParser.codeBlock_return node8 = null;

        MediaWikiParser.table_return node9 = null;

        MediaWikiParser.qouting_return node10 = null;

        MediaWikiParser.boldText_return node11 = null;

        MediaWikiParser.italicText_return node12 = null;

        MediaWikiParser.underlineText_return node13 = null;

        MediaWikiParser.link_return node15 = null;

        MediaWikiParser.mail_return node16 = null;

        MediaWikiParser.headline_return node17 = null;

        MediaWikiParser.image_return node18 = null;

        MediaWikiParser.noWiki_return node19 = null;

        MediaWikiParser.horizontalRule_return node = null;

        MediaWikiParser.newLine_return newLine2 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:29:50: ( (node1= php | node2= markupSection | node3= list | node4= footnoteText | node123= boldAndItalicText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki | node= horizontalRule ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:30:2: (node1= php | node2= markupSection | node3= list | node4= footnoteText | node123= boldAndItalicText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki | node= horizontalRule )
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:30:2: (node1= php | node2= markupSection | node3= list | node4= footnoteText | node123= boldAndItalicText | node5= noCache | node6= noToc | node7= html | node8= codeBlock | node9= table | node10= qouting | node11= boldText | node12= italicText | node13= underlineText | newLine | node15= link | node16= mail | node17= headline | node18= image | node19= noWiki | node= horizontalRule )
            int alt2=21;
            switch ( input.LA(1) ) {
            case PHP:
            case PHP2:
                {
                alt2=1;
                }
                break;
            case MARKUP:
                {
                alt2=2;
                }
                break;
            case LISTSYMBOL:
                {
                alt2=3;
                }
                break;
            case FOOTNOTESYMBOL:
                {
                alt2=4;
                }
                break;
            case BOLDANDITALIC:
                {
                alt2=5;
                }
                break;
            case NOCACHE:
                {
                alt2=6;
                }
                break;
            case NOTOC:
                {
                alt2=7;
                }
                break;
            case HTML:
            case HTML2:
                {
                alt2=8;
                }
                break;
            case CODE:
            case FILE:
            case CODESECTION:
                {
                alt2=9;
                }
                break;
            case HEADERTABLESYMBOL:
                {
                alt2=10;
                }
                break;
            case QUOTINGSYMBOL:
                {
                alt2=11;
                }
                break;
            case BOLDSYMBOL:
                {
                alt2=12;
                }
                break;
            case ITALICSYMBOL:
                {
                alt2=13;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt2=14;
                }
                break;
            case NEWLINESYMBOL:
                {
                alt2=15;
                }
                break;
            case LINKSYMBOL:
            case ADDRESS:
                {
                alt2=16;
                }
                break;
            case MAIL:
                {
                alt2=17;
                }
                break;
            case HEADLINESYMBOL:
                {
                alt2=18;
                }
                break;
            case IMAGESYMBOL:
                {
                alt2=19;
                }
                break;
            case NOWIKI:
            case NOWIKI2:
                {
                alt2=20;
                }
                break;
            case HORIZONTALRULE:
                {
                alt2=21;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:31:2: node1= php
                    {
                    pushFollow(FOLLOW_php_in_mediaWikiMarkupSection142);
                    node1=php();

                    state._fsp--;

                    adaptor.addChild(root_0, node1.getTree());

                    	 retval.value =(node1!=null?node1.value:null) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:35:4: node2= markupSection
                    {
                    pushFollow(FOLLOW_markupSection_in_mediaWikiMarkupSection153);
                    node2=markupSection();

                    state._fsp--;

                    adaptor.addChild(root_0, node2.getTree());

                    	 retval.value =(node2!=null?node2.value:null) ;
                    	

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:39:4: node3= list
                    {
                    pushFollow(FOLLOW_list_in_mediaWikiMarkupSection164);
                    node3=list();

                    state._fsp--;

                    adaptor.addChild(root_0, node3.getTree());

                       retval.value =(node3!=null?node3.value:null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:43:4: node4= footnoteText
                    {
                    pushFollow(FOLLOW_footnoteText_in_mediaWikiMarkupSection177);
                    node4=footnoteText();

                    state._fsp--;

                    adaptor.addChild(root_0, node4.getTree());

                       retval.value =(node4!=null?node4.value:null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:47:5: node123= boldAndItalicText
                    {
                    pushFollow(FOLLOW_boldAndItalicText_in_mediaWikiMarkupSection191);
                    node123=boldAndItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, node123.getTree());

                        retval.value =(node123!=null?node123.value:null);
                      

                    }
                    break;
                case 6 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:51:4: node5= noCache
                    {
                    pushFollow(FOLLOW_noCache_in_mediaWikiMarkupSection202);
                    node5=noCache();

                    state._fsp--;

                    adaptor.addChild(root_0, node5.getTree());

                       //retval.value =(node5!=null?node5.value:null) ;
                      

                    }
                    break;
                case 7 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:55:4: node6= noToc
                    {
                    pushFollow(FOLLOW_noToc_in_mediaWikiMarkupSection215);
                    node6=noToc();

                    state._fsp--;

                    adaptor.addChild(root_0, node6.getTree());

                       //retval.value =(node6!=null?node6.value:null) ;
                      

                    }
                    break;
                case 8 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:59:4: node7= html
                    {
                    pushFollow(FOLLOW_html_in_mediaWikiMarkupSection228);
                    node7=html();

                    state._fsp--;

                    adaptor.addChild(root_0, node7.getTree());

                       retval.value =(node7!=null?node7.value:null) ;
                      

                    }
                    break;
                case 9 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:63:4: node8= codeBlock
                    {
                    pushFollow(FOLLOW_codeBlock_in_mediaWikiMarkupSection241);
                    node8=codeBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, node8.getTree());

                       retval.value =(node8!=null?node8.value:null) ;
                      

                    }
                    break;
                case 10 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:67:4: node9= table
                    {
                    pushFollow(FOLLOW_table_in_mediaWikiMarkupSection254);
                    node9=table();

                    state._fsp--;

                    adaptor.addChild(root_0, node9.getTree());

                       retval.value =(node9!=null?node9.value:null) ;
                      

                    }
                    break;
                case 11 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:71:4: node10= qouting
                    {
                    pushFollow(FOLLOW_qouting_in_mediaWikiMarkupSection267);
                    node10=qouting();

                    state._fsp--;

                    adaptor.addChild(root_0, node10.getTree());

                       retval.value =(node10!=null?node10.value:null) ;
                      

                    }
                    break;
                case 12 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:75:4: node11= boldText
                    {
                    pushFollow(FOLLOW_boldText_in_mediaWikiMarkupSection280);
                    node11=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, node11.getTree());

                       retval.value =(node11!=null?node11.value:null) ;
                      

                    }
                    break;
                case 13 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:79:4: node12= italicText
                    {
                    pushFollow(FOLLOW_italicText_in_mediaWikiMarkupSection293);
                    node12=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, node12.getTree());

                       retval.value =(node12!=null?node12.value:null) ;
                      

                    }
                    break;
                case 14 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:83:4: node13= underlineText
                    {
                    pushFollow(FOLLOW_underlineText_in_mediaWikiMarkupSection306);
                    node13=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, node13.getTree());

                       retval.value =(node13!=null?node13.value:null) ;
                      

                    }
                    break;
                case 15 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:87:4: newLine
                    {
                    pushFollow(FOLLOW_newLine_in_mediaWikiMarkupSection317);
                    newLine2=newLine();

                    state._fsp--;

                    adaptor.addChild(root_0, newLine2.getTree());

                       retval.value = new Text("\n", null) ;
                      

                    }
                    break;
                case 16 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:91:4: node15= link
                    {
                    pushFollow(FOLLOW_link_in_mediaWikiMarkupSection330);
                    node15=link();

                    state._fsp--;

                    adaptor.addChild(root_0, node15.getTree());

                    	 retval.value = (node15!=null?node15.value:null) ;
                    	

                    }
                    break;
                case 17 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:95:4: node16= mail
                    {
                    pushFollow(FOLLOW_mail_in_mediaWikiMarkupSection340);
                    node16=mail();

                    state._fsp--;

                    adaptor.addChild(root_0, node16.getTree());

                       retval.value =(node16!=null?node16.value:null) ;
                      

                    }
                    break;
                case 18 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:99:4: node17= headline
                    {
                    pushFollow(FOLLOW_headline_in_mediaWikiMarkupSection353);
                    node17=headline();

                    state._fsp--;

                    adaptor.addChild(root_0, node17.getTree());

                       retval.value =(node17!=null?node17.value:null) ;
                      

                    }
                    break;
                case 19 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:103:4: node18= image
                    {
                    pushFollow(FOLLOW_image_in_mediaWikiMarkupSection366);
                    node18=image();

                    state._fsp--;

                    adaptor.addChild(root_0, node18.getTree());

                       retval.value =(node18!=null?node18.value:null) ;
                      

                    }
                    break;
                case 20 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:107:4: node19= noWiki
                    {
                    pushFollow(FOLLOW_noWiki_in_mediaWikiMarkupSection379);
                    node19=noWiki();

                    state._fsp--;

                    adaptor.addChild(root_0, node19.getTree());

                       retval.value =(node19!=null?node19.value:null) ;
                      

                    }
                    break;
                case 21 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:111:4: node= horizontalRule
                    {
                    pushFollow(FOLLOW_horizontalRule_in_mediaWikiMarkupSection390);
                    node=horizontalRule();

                    state._fsp--;

                    adaptor.addChild(root_0, node.getTree());
                     retval.value = (node!=null?node.value:null); 

                    }
                    break;

            }


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "mediaWikiMarkupSection"

    public static class horizontalRule_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "horizontalRule"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:115:1: horizontalRule returns [IComponent value] : HORIZONTALRULE ;
    public final MediaWikiParser.horizontalRule_return horizontalRule() throws RecognitionException {
        MediaWikiParser.horizontalRule_return retval = new MediaWikiParser.horizontalRule_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HORIZONTALRULE3=null;

        Object HORIZONTALRULE3_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:115:43: ( HORIZONTALRULE )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:116:3: HORIZONTALRULE
            {
            root_0 = (Object)adaptor.nil();

            HORIZONTALRULE3=(Token)match(input,HORIZONTALRULE,FOLLOW_HORIZONTALRULE_in_horizontalRule415); 
            HORIZONTALRULE3_tree = (Object)adaptor.create(HORIZONTALRULE3);
            adaptor.addChild(root_0, HORIZONTALRULE3_tree);

             retval.value = new Separator(SeparatorType.NORMAL); 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "horizontalRule"

    public static class insideBoldText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideBoldText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:120:1: insideBoldText returns [Text value] : (i= italicText in= insideBoldText | u= underlineText in2= insideBoldText | l= line in3= insideBoldText | NEWLINE in4= insideBoldText | () );
    public final MediaWikiParser.insideBoldText_return insideBoldText() throws RecognitionException {
        MediaWikiParser.insideBoldText_return retval = new MediaWikiParser.insideBoldText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE4=null;
        MediaWikiParser.italicText_return i = null;

        MediaWikiParser.insideBoldText_return in = null;

        MediaWikiParser.underlineText_return u = null;

        MediaWikiParser.insideBoldText_return in2 = null;

        MediaWikiParser.line_return l = null;

        MediaWikiParser.insideBoldText_return in3 = null;

        MediaWikiParser.insideBoldText_return in4 = null;


        Object NEWLINE4_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:120:37: (i= italicText in= insideBoldText | u= underlineText in2= insideBoldText | l= line in3= insideBoldText | NEWLINE in4= insideBoldText | () )
            int alt3=5;
            switch ( input.LA(1) ) {
            case ITALICSYMBOL:
                {
                alt3=1;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt3=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt3=3;
                }
                break;
            case NEWLINE:
                {
                alt3=4;
                }
                break;
            case BOLDSYMBOL:
                {
                alt3=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:121:3: i= italicText in= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_italicText_in_insideBoldText440);
                    i=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText444);
                    in=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in.getTree());

                        retval.value = new Text((i!=null?i.value:null), (in!=null?in.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:125:5: u= underlineText in2= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_underlineText_in_insideBoldText457);
                    u=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText461);
                    in2=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in2.getTree());

                        retval.value = new Text((u!=null?u.value:null), (in2!=null?in2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:129:5: l= line in3= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideBoldText473);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText477);
                    in3=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (in3!=null?in3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:133:5: NEWLINE in4= insideBoldText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE4=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideBoldText487); 
                    NEWLINE4_tree = (Object)adaptor.create(NEWLINE4);
                    adaptor.addChild(root_0, NEWLINE4_tree);

                    pushFollow(FOLLOW_insideBoldText_in_insideBoldText491);
                    in4=insideBoldText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:137:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:137:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:137:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideBoldText"

    public static class boldText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "boldText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:142:1: boldText returns [Text value] : BOLDSYMBOL i= insideBoldText BOLDSYMBOL ;
    public final MediaWikiParser.boldText_return boldText() throws RecognitionException {
        MediaWikiParser.boldText_return retval = new MediaWikiParser.boldText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token BOLDSYMBOL5=null;
        Token BOLDSYMBOL6=null;
        MediaWikiParser.insideBoldText_return i = null;


        Object BOLDSYMBOL5_tree=null;
        Object BOLDSYMBOL6_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:142:31: ( BOLDSYMBOL i= insideBoldText BOLDSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:143:2: BOLDSYMBOL i= insideBoldText BOLDSYMBOL
            {
            root_0 = (Object)adaptor.nil();

            BOLDSYMBOL5=(Token)match(input,BOLDSYMBOL,FOLLOW_BOLDSYMBOL_in_boldText520); 
            BOLDSYMBOL5_tree = (Object)adaptor.create(BOLDSYMBOL5);
            adaptor.addChild(root_0, BOLDSYMBOL5_tree);

            pushFollow(FOLLOW_insideBoldText_in_boldText524);
            i=insideBoldText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            BOLDSYMBOL6=(Token)match(input,BOLDSYMBOL,FOLLOW_BOLDSYMBOL_in_boldText526); 
            BOLDSYMBOL6_tree = (Object)adaptor.create(BOLDSYMBOL6);
            adaptor.addChild(root_0, BOLDSYMBOL6_tree);


            		  (i!=null?i.value:null).setTextFormatting(TextFormatting.BOLD) ;
              	 retval.value = (i!=null?i.value:null) ;
            		

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "boldText"

    public static class insideItalicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideItalicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:149:1: insideItalicText returns [Text value] : (b= boldText i1= insideItalicText | u= underlineText i2= insideItalicText | l= line i3= insideItalicText | NEWLINE in4= insideItalicText | () );
    public final MediaWikiParser.insideItalicText_return insideItalicText() throws RecognitionException {
        MediaWikiParser.insideItalicText_return retval = new MediaWikiParser.insideItalicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE7=null;
        MediaWikiParser.boldText_return b = null;

        MediaWikiParser.insideItalicText_return i1 = null;

        MediaWikiParser.underlineText_return u = null;

        MediaWikiParser.insideItalicText_return i2 = null;

        MediaWikiParser.line_return l = null;

        MediaWikiParser.insideItalicText_return i3 = null;

        MediaWikiParser.insideItalicText_return in4 = null;


        Object NEWLINE7_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:149:39: (b= boldText i1= insideItalicText | u= underlineText i2= insideItalicText | l= line i3= insideItalicText | NEWLINE in4= insideItalicText | () )
            int alt4=5;
            switch ( input.LA(1) ) {
            case BOLDSYMBOL:
                {
                alt4=1;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt4=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt4=3;
                }
                break;
            case NEWLINE:
                {
                alt4=4;
                }
                break;
            case ITALICSYMBOL:
                {
                alt4=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:150:3: b= boldText i1= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_boldText_in_insideItalicText547);
                    b=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText551);
                    i1=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i1.getTree());

                        retval.value = new Text((b!=null?b.value:null), (i1!=null?i1.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:154:5: u= underlineText i2= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_underlineText_in_insideItalicText563);
                    u=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText567);
                    i2=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i2.getTree());

                        retval.value = new Text((u!=null?u.value:null), (i2!=null?i2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:158:5: l= line i3= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideItalicText579);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText583);
                    i3=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (i3!=null?i3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:162:4: NEWLINE in4= insideItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE7=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideItalicText592); 
                    NEWLINE7_tree = (Object)adaptor.create(NEWLINE7);
                    adaptor.addChild(root_0, NEWLINE7_tree);

                    pushFollow(FOLLOW_insideItalicText_in_insideItalicText596);
                    in4=insideItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:166:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:166:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:166:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideItalicText"

    public static class italicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "italicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:171:1: italicText returns [Text value] : ITALICSYMBOL i= insideItalicText ITALICSYMBOL ;
    public final MediaWikiParser.italicText_return italicText() throws RecognitionException {
        MediaWikiParser.italicText_return retval = new MediaWikiParser.italicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token ITALICSYMBOL8=null;
        Token ITALICSYMBOL9=null;
        MediaWikiParser.insideItalicText_return i = null;


        Object ITALICSYMBOL8_tree=null;
        Object ITALICSYMBOL9_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:171:33: ( ITALICSYMBOL i= insideItalicText ITALICSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:172:2: ITALICSYMBOL i= insideItalicText ITALICSYMBOL
            {
            root_0 = (Object)adaptor.nil();

            ITALICSYMBOL8=(Token)match(input,ITALICSYMBOL,FOLLOW_ITALICSYMBOL_in_italicText627); 
            ITALICSYMBOL8_tree = (Object)adaptor.create(ITALICSYMBOL8);
            adaptor.addChild(root_0, ITALICSYMBOL8_tree);

            pushFollow(FOLLOW_insideItalicText_in_italicText631);
            i=insideItalicText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            ITALICSYMBOL9=(Token)match(input,ITALICSYMBOL,FOLLOW_ITALICSYMBOL_in_italicText633); 
            ITALICSYMBOL9_tree = (Object)adaptor.create(ITALICSYMBOL9);
            adaptor.addChild(root_0, ITALICSYMBOL9_tree);

             
                  (i!=null?i.value:null).setTextFormatting(TextFormatting.ITALIC) ;
            		  retval.value = (i!=null?i.value:null) ;
            	  

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "italicText"

    public static class insideBoldAndItalicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideBoldAndItalicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:178:1: insideBoldAndItalicText returns [Text value] : (u= underlineText i2= insideBoldAndItalicText | l= line i3= insideBoldAndItalicText | NEWLINE in4= insideBoldAndItalicText | () );
    public final MediaWikiParser.insideBoldAndItalicText_return insideBoldAndItalicText() throws RecognitionException {
        MediaWikiParser.insideBoldAndItalicText_return retval = new MediaWikiParser.insideBoldAndItalicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE10=null;
        MediaWikiParser.underlineText_return u = null;

        MediaWikiParser.insideBoldAndItalicText_return i2 = null;

        MediaWikiParser.line_return l = null;

        MediaWikiParser.insideBoldAndItalicText_return i3 = null;

        MediaWikiParser.insideBoldAndItalicText_return in4 = null;


        Object NEWLINE10_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:178:46: (u= underlineText i2= insideBoldAndItalicText | l= line i3= insideBoldAndItalicText | NEWLINE in4= insideBoldAndItalicText | () )
            int alt5=4;
            switch ( input.LA(1) ) {
            case UNDERLINESYMBOL:
                {
                alt5=1;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt5=2;
                }
                break;
            case NEWLINE:
                {
                alt5=3;
                }
                break;
            case BOLDANDITALIC:
                {
                alt5=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:179:3: u= underlineText i2= insideBoldAndItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_underlineText_in_insideBoldAndItalicText654);
                    u=underlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    pushFollow(FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText658);
                    i2=insideBoldAndItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i2.getTree());

                        retval.value = new Text((u!=null?u.value:null), (i2!=null?i2.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:183:5: l= line i3= insideBoldAndItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideBoldAndItalicText670);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText674);
                    i3=insideBoldAndItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (i3!=null?i3.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:187:4: NEWLINE in4= insideBoldAndItalicText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE10=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideBoldAndItalicText683); 
                    NEWLINE10_tree = (Object)adaptor.create(NEWLINE10);
                    adaptor.addChild(root_0, NEWLINE10_tree);

                    pushFollow(FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText687);
                    in4=insideBoldAndItalicText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:191:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:191:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:191:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideBoldAndItalicText"

    public static class boldAndItalicText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "boldAndItalicText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:196:1: boldAndItalicText returns [Text value] : BOLDANDITALIC t= insideBoldAndItalicText BOLDANDITALIC ;
    public final MediaWikiParser.boldAndItalicText_return boldAndItalicText() throws RecognitionException {
        MediaWikiParser.boldAndItalicText_return retval = new MediaWikiParser.boldAndItalicText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token BOLDANDITALIC11=null;
        Token BOLDANDITALIC12=null;
        MediaWikiParser.insideBoldAndItalicText_return t = null;


        Object BOLDANDITALIC11_tree=null;
        Object BOLDANDITALIC12_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:196:40: ( BOLDANDITALIC t= insideBoldAndItalicText BOLDANDITALIC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:197:3: BOLDANDITALIC t= insideBoldAndItalicText BOLDANDITALIC
            {
            root_0 = (Object)adaptor.nil();

            BOLDANDITALIC11=(Token)match(input,BOLDANDITALIC,FOLLOW_BOLDANDITALIC_in_boldAndItalicText720); 
            BOLDANDITALIC11_tree = (Object)adaptor.create(BOLDANDITALIC11);
            adaptor.addChild(root_0, BOLDANDITALIC11_tree);

            pushFollow(FOLLOW_insideBoldAndItalicText_in_boldAndItalicText724);
            t=insideBoldAndItalicText();

            state._fsp--;

            adaptor.addChild(root_0, t.getTree());
            BOLDANDITALIC12=(Token)match(input,BOLDANDITALIC,FOLLOW_BOLDANDITALIC_in_boldAndItalicText726); 
            BOLDANDITALIC12_tree = (Object)adaptor.create(BOLDANDITALIC12);
            adaptor.addChild(root_0, BOLDANDITALIC12_tree);


                  (t!=null?t.value:null).setTextFormatting(TextFormatting.ITALIC);
                  retval.value = new Text((t!=null?t.value:null), null, TextFormatting.BOLD); 
                

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "boldAndItalicText"

    public static class deletedText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "deletedText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:203:1: deletedText returns [Text value] : DELETED node= text DELETEDC ;
    public final MediaWikiParser.deletedText_return deletedText() throws RecognitionException {
        MediaWikiParser.deletedText_return retval = new MediaWikiParser.deletedText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token DELETED13=null;
        Token DELETEDC14=null;
        MediaWikiParser.text_return node = null;


        Object DELETED13_tree=null;
        Object DELETEDC14_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:203:34: ( DELETED node= text DELETEDC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:204:2: DELETED node= text DELETEDC
            {
            root_0 = (Object)adaptor.nil();

            DELETED13=(Token)match(input,DELETED,FOLLOW_DELETED_in_deletedText745); 
            DELETED13_tree = (Object)adaptor.create(DELETED13);
            adaptor.addChild(root_0, DELETED13_tree);

            pushFollow(FOLLOW_text_in_deletedText749);
            node=text();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
            DELETEDC14=(Token)match(input,DELETEDC,FOLLOW_DELETEDC_in_deletedText751); 
            DELETEDC14_tree = (Object)adaptor.create(DELETEDC14);
            adaptor.addChild(root_0, DELETEDC14_tree);


            		retval.value = new Text((node!=null?node.value:null).toString(), null) ;	
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "deletedText"

    public static class insideUnderlineText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "insideUnderlineText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:209:1: insideUnderlineText returns [Text value] : (b= boldText i1= insideUnderlineText | i= italicText i2= insideUnderlineText | l= line i3= insideUnderlineText | NEWLINE in4= insideUnderlineText | () );
    public final MediaWikiParser.insideUnderlineText_return insideUnderlineText() throws RecognitionException {
        MediaWikiParser.insideUnderlineText_return retval = new MediaWikiParser.insideUnderlineText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE15=null;
        MediaWikiParser.boldText_return b = null;

        MediaWikiParser.insideUnderlineText_return i1 = null;

        MediaWikiParser.italicText_return i = null;

        MediaWikiParser.insideUnderlineText_return i2 = null;

        MediaWikiParser.line_return l = null;

        MediaWikiParser.insideUnderlineText_return i3 = null;

        MediaWikiParser.insideUnderlineText_return in4 = null;


        Object NEWLINE15_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:209:42: (b= boldText i1= insideUnderlineText | i= italicText i2= insideUnderlineText | l= line i3= insideUnderlineText | NEWLINE in4= insideUnderlineText | () )
            int alt6=5;
            switch ( input.LA(1) ) {
            case BOLDSYMBOL:
                {
                alt6=1;
                }
                break;
            case ITALICSYMBOL:
                {
                alt6=2;
                }
                break;
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt6=3;
                }
                break;
            case NEWLINE:
                {
                alt6=4;
                }
                break;
            case UNDERLINESYMBOL:
                {
                alt6=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:210:3: b= boldText i1= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_boldText_in_insideUnderlineText770);
                    b=boldText();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText774);
                    i1=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i1.getTree());

                        retval.value = new Text((b!=null?b.value:null), (i1!=null?i1.value:null), null) ;
                      

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:214:5: i= italicText i2= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_italicText_in_insideUnderlineText786);
                    i=italicText();

                    state._fsp--;

                    adaptor.addChild(root_0, i.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText790);
                    i2=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i2.getTree());

                        retval.value = new Text((i!=null?i.value:null), (i2!=null?i2.value:null), null) ;
                      

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:218:5: l= line i3= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_line_in_insideUnderlineText802);
                    l=line();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText806);
                    i3=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, i3.getTree());

                        retval.value = new Text(new Text((l!=null?input.toString(l.start,l.stop):null), null), (i3!=null?i3.value:null), null) ;
                      

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:222:4: NEWLINE in4= insideUnderlineText
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE15=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_insideUnderlineText815); 
                    NEWLINE15_tree = (Object)adaptor.create(NEWLINE15);
                    adaptor.addChild(root_0, NEWLINE15_tree);

                    pushFollow(FOLLOW_insideUnderlineText_in_insideUnderlineText819);
                    in4=insideUnderlineText();

                    state._fsp--;

                    adaptor.addChild(root_0, in4.getTree());

                        retval.value = new Text(new Text("\n", null), (in4!=null?in4.value:null), null) ;
                      

                    }
                    break;
                case 5 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:226:5: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:226:5: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:226:6: 
                    {
                    }


                        retval.value = null ;
                      

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "insideUnderlineText"

    public static class underlineText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "underlineText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:231:1: underlineText returns [Text value] : UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL ;
    public final MediaWikiParser.underlineText_return underlineText() throws RecognitionException {
        MediaWikiParser.underlineText_return retval = new MediaWikiParser.underlineText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token UNDERLINESYMBOL16=null;
        Token UNDERLINESYMBOL17=null;
        MediaWikiParser.insideUnderlineText_return i = null;


        Object UNDERLINESYMBOL16_tree=null;
        Object UNDERLINESYMBOL17_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:231:36: ( UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:232:2: UNDERLINESYMBOL i= insideUnderlineText UNDERLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            UNDERLINESYMBOL16=(Token)match(input,UNDERLINESYMBOL,FOLLOW_UNDERLINESYMBOL_in_underlineText849); 
            UNDERLINESYMBOL16_tree = (Object)adaptor.create(UNDERLINESYMBOL16);
            adaptor.addChild(root_0, UNDERLINESYMBOL16_tree);

            pushFollow(FOLLOW_insideUnderlineText_in_underlineText853);
            i=insideUnderlineText();

            state._fsp--;

            adaptor.addChild(root_0, i.getTree());
            UNDERLINESYMBOL17=(Token)match(input,UNDERLINESYMBOL,FOLLOW_UNDERLINESYMBOL_in_underlineText855); 
            UNDERLINESYMBOL17_tree = (Object)adaptor.create(UNDERLINESYMBOL17);
            adaptor.addChild(root_0, UNDERLINESYMBOL17_tree);


            		  (i!=null?i.value:null).setTextFormatting(TextFormatting.UNDERLINE) ;
            		  retval.value = (i!=null?i.value:null) ; 
            		

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "underlineText"

    public static class footnoteText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "footnoteText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:238:1: footnoteText returns [Text value] : FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC ;
    public final MediaWikiParser.footnoteText_return footnoteText() throws RecognitionException {
        MediaWikiParser.footnoteText_return retval = new MediaWikiParser.footnoteText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token FOOTNOTESYMBOL18=null;
        Token FOOTNOTESYMBOLC19=null;
        MediaWikiParser.text_return node = null;


        Object FOOTNOTESYMBOL18_tree=null;
        Object FOOTNOTESYMBOLC19_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:238:34: ( FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:239:2: FOOTNOTESYMBOL node= text FOOTNOTESYMBOLC
            {
            root_0 = (Object)adaptor.nil();

            FOOTNOTESYMBOL18=(Token)match(input,FOOTNOTESYMBOL,FOLLOW_FOOTNOTESYMBOL_in_footnoteText871); 
            FOOTNOTESYMBOL18_tree = (Object)adaptor.create(FOOTNOTESYMBOL18);
            adaptor.addChild(root_0, FOOTNOTESYMBOL18_tree);

            pushFollow(FOLLOW_text_in_footnoteText875);
            node=text();

            state._fsp--;

            adaptor.addChild(root_0, node.getTree());
            FOOTNOTESYMBOLC19=(Token)match(input,FOOTNOTESYMBOLC,FOLLOW_FOOTNOTESYMBOLC_in_footnoteText877); 
            FOOTNOTESYMBOLC19_tree = (Object)adaptor.create(FOOTNOTESYMBOLC19);
            adaptor.addChild(root_0, FOOTNOTESYMBOLC19_tree);

             retval.value = new Text((node!=null?node.value:null).toString(), TextFormatting.FOOTNOTE) ; 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "footnoteText"

    public static class text_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "text"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:242:1: text returns [Text value] : (t1= textBlock t2= text | NEWLINE t= text | () );
    public final MediaWikiParser.text_return text() throws RecognitionException {
        MediaWikiParser.text_return retval = new MediaWikiParser.text_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINE20=null;
        MediaWikiParser.textBlock_return t1 = null;

        MediaWikiParser.text_return t2 = null;

        MediaWikiParser.text_return t = null;


        Object NEWLINE20_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:242:27: (t1= textBlock t2= text | NEWLINE t= text | () )
            int alt7=3;
            switch ( input.LA(1) ) {
            case WHITESPACE:
            case WORD:
            case PUNCTUATIONMARK:
            case NUMBER:
            case SPECIALPUNCTUATIONMARK:
                {
                alt7=1;
                }
                break;
            case NEWLINE:
                {
                alt7=2;
                }
                break;
            case DELETEDC:
            case FOOTNOTESYMBOLC:
            case LINKSYMBOLC:
            case HEADLINESYMBOL:
            case IMAGESYMBOLC:
                {
                alt7=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:243:2: t1= textBlock t2= text
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_text896);
                    t1=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, t1.getTree());
                    pushFollow(FOLLOW_text_in_text900);
                    t2=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t2.getTree());
                     retval.value = new Text((t1!=null?input.toString(t1.start,t1.stop):null) + (t2!=null?t2.value:null).toString(), null) ;

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:245:4: NEWLINE t= text
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE20=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_text912); 
                    NEWLINE20_tree = (Object)adaptor.create(NEWLINE20);
                    adaptor.addChild(root_0, NEWLINE20_tree);

                    pushFollow(FOLLOW_text_in_text916);
                    t=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                     retval.value = new Text("\n" + (t!=null?t.value:null).toString(), null) ;

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:247:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:247:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:247:5: 
                    {
                    }

                     retval.value = new Text("", null) ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "text"

    public static class newLine_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "newLine"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:250:1: newLine : NEWLINESYMBOL ;
    public final MediaWikiParser.newLine_return newLine() throws RecognitionException {
        MediaWikiParser.newLine_return retval = new MediaWikiParser.newLine_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NEWLINESYMBOL21=null;

        Object NEWLINESYMBOL21_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:250:9: ( NEWLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:251:2: NEWLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            NEWLINESYMBOL21=(Token)match(input,NEWLINESYMBOL,FOLLOW_NEWLINESYMBOL_in_newLine942); 
            NEWLINESYMBOL21_tree = (Object)adaptor.create(NEWLINESYMBOL21);
            adaptor.addChild(root_0, NEWLINESYMBOL21_tree);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "newLine"

    public static class link_return extends ParserRuleReturnScope {
        public Link value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "link"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:253:1: link returns [Link value] : ( ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC ) | a1= ADDRESS );
    public final MediaWikiParser.link_return link() throws RecognitionException {
        MediaWikiParser.link_return retval = new MediaWikiParser.link_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token a=null;
        Token a1=null;
        Token LINKSYMBOL22=null;
        Token LINKTEXTSYMBOL23=null;
        Token LINKSYMBOLC24=null;
        MediaWikiParser.linkText_return p = null;

        MediaWikiParser.text_return t = null;


        Object a_tree=null;
        Object a1_tree=null;
        Object LINKSYMBOL22_tree=null;
        Object LINKTEXTSYMBOL23_tree=null;
        Object LINKSYMBOLC24_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:253:27: ( ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC ) | a1= ADDRESS )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==LINKSYMBOL) ) {
                alt10=1;
            }
            else if ( (LA10_0==ADDRESS) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;
            }
            switch (alt10) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:2: ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC )
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:2: ( LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC )
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:3: LINKSYMBOL (a= ADDRESS | p= linkText ) ( LINKTEXTSYMBOL t= text )? LINKSYMBOLC
                    {
                    LINKSYMBOL22=(Token)match(input,LINKSYMBOL,FOLLOW_LINKSYMBOL_in_link958); 
                    LINKSYMBOL22_tree = (Object)adaptor.create(LINKSYMBOL22);
                    adaptor.addChild(root_0, LINKSYMBOL22_tree);

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:14: (a= ADDRESS | p= linkText )
                    int alt8=2;
                    int LA8_0 = input.LA(1);

                    if ( (LA8_0==ADDRESS) ) {
                        alt8=1;
                    }
                    else if ( (LA8_0==NEWLINE||(LA8_0>=LINKTEXTSYMBOL && LA8_0<=LINKSYMBOLC)||(LA8_0>=WHITESPACE && LA8_0<=SPECIALPUNCTUATIONMARK)||(LA8_0>=SIZE && LA8_0<=IMAGESYMBOLC)||LA8_0==HEADERTABLESYMBOL) ) {
                        alt8=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 8, 0, input);

                        throw nvae;
                    }
                    switch (alt8) {
                        case 1 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:15: a= ADDRESS
                            {
                            a=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_link963); 
                            a_tree = (Object)adaptor.create(a);
                            adaptor.addChild(root_0, a_tree);


                            }
                            break;
                        case 2 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:27: p= linkText
                            {
                            pushFollow(FOLLOW_linkText_in_link969);
                            p=linkText();

                            state._fsp--;

                            adaptor.addChild(root_0, p.getTree());

                            }
                            break;

                    }

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:39: ( LINKTEXTSYMBOL t= text )?
                    int alt9=2;
                    int LA9_0 = input.LA(1);

                    if ( (LA9_0==LINKTEXTSYMBOL) ) {
                        alt9=1;
                    }
                    switch (alt9) {
                        case 1 :
                            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:254:40: LINKTEXTSYMBOL t= text
                            {
                            LINKTEXTSYMBOL23=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_link973); 
                            LINKTEXTSYMBOL23_tree = (Object)adaptor.create(LINKTEXTSYMBOL23);
                            adaptor.addChild(root_0, LINKTEXTSYMBOL23_tree);

                            pushFollow(FOLLOW_text_in_link977);
                            t=text();

                            state._fsp--;

                            adaptor.addChild(root_0, t.getTree());

                            }
                            break;

                    }

                    LINKSYMBOLC24=(Token)match(input,LINKSYMBOLC,FOLLOW_LINKSYMBOLC_in_link981); 
                    LINKSYMBOLC24_tree = (Object)adaptor.create(LINKSYMBOLC24);
                    adaptor.addChild(root_0, LINKSYMBOLC24_tree);


                    }


                    			if(a != null) //CZY a.value
                    				if((t!=null?t.value:null) != null) 
                    					retval.value = new Link(new Text((a!=null?a.getText():null), null), new Text((t!=null?t.value:null).toString(), null)) ; 
                    				else
                    					retval.value = new Link(new Text((a!=null?a.getText():null), null), null) ;
                    			if((p!=null?p.value:null) != null)//p.value auch nicht null?
                    				if( (t!=null?t.value:null) != null) 
                    					retval.value = new Link(new Text((p!=null?p.value:null).toString(), null), new Text((t!=null?t.value:null).toString(), null)) ; 
                    				else
                    					retval.value = new Link(new Text((p!=null?p.value:null).toString(), null), null) ;
                    		

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:267:4: a1= ADDRESS
                    {
                    root_0 = (Object)adaptor.nil();

                    a1=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_link993); 
                    a1_tree = (Object)adaptor.create(a1);
                    adaptor.addChild(root_0, a1_tree);

                     retval.value = new Link(new Text((a1!=null?a1.getText():null), null), null) ; 

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "link"

    public static class mail_return extends ParserRuleReturnScope {
        public Mail value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "mail"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:270:1: mail returns [Mail value] : m= MAIL ;
    public final MediaWikiParser.mail_return mail() throws RecognitionException {
        MediaWikiParser.mail_return retval = new MediaWikiParser.mail_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token m=null;

        Object m_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:270:27: (m= MAIL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:271:2: m= MAIL
            {
            root_0 = (Object)adaptor.nil();

            m=(Token)match(input,MAIL,FOLLOW_MAIL_in_mail1014); 
            m_tree = (Object)adaptor.create(m);
            adaptor.addChild(root_0, m_tree);

             retval.value = new Mail(new Text((m!=null?m.getText():null).substring(1, (m!=null?m.getText():null).length() - 1), null), null) ; 

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "mail"

    public static class linkText_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "linkText"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:274:1: linkText returns [Text value] : (t1= textBlock t2= linkText | () );
    public final MediaWikiParser.linkText_return linkText() throws RecognitionException {
        MediaWikiParser.linkText_return retval = new MediaWikiParser.linkText_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        MediaWikiParser.textBlock_return t1 = null;

        MediaWikiParser.linkText_return t2 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:274:31: (t1= textBlock t2= linkText | () )
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( ((LA11_0>=WHITESPACE && LA11_0<=SPECIALPUNCTUATIONMARK)) ) {
                alt11=1;
            }
            else if ( (LA11_0==NEWLINE||(LA11_0>=LINKTEXTSYMBOL && LA11_0<=LINKSYMBOLC)||(LA11_0>=SIZE && LA11_0<=IMAGESYMBOLC)||LA11_0==HEADERTABLESYMBOL) ) {
                alt11=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;
            }
            switch (alt11) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:275:2: t1= textBlock t2= linkText
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_textBlock_in_linkText1037);
                    t1=textBlock();

                    state._fsp--;

                    adaptor.addChild(root_0, t1.getTree());
                    pushFollow(FOLLOW_linkText_in_linkText1041);
                    t2=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, t2.getTree());

                    		String t2Text = "" ;
                    		if((t2!=null?t2.value:null) != null) //CZY (t2!=null?t2.value:null)
                    			t2Text = (t2!=null?t2.value:null).toString() ;
                    		retval.value = new Text((t1!=null?input.toString(t1.start,t1.stop):null) + t2Text, null) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:282:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:282:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:282:5: 
                    {
                    }


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "linkText"

    public static class headline_return extends ParserRuleReturnScope {
        public Headline value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "headline"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:287:1: headline returns [Headline value] : h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL ;
    public final MediaWikiParser.headline_return headline() throws RecognitionException {
        MediaWikiParser.headline_return retval = new MediaWikiParser.headline_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token h1=null;
        Token h2=null;
        MediaWikiParser.text_return t = null;


        Object h1_tree=null;
        Object h2_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:287:35: (h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:288:2: h1= HEADLINESYMBOL t= text h2= HEADLINESYMBOL
            {
            root_0 = (Object)adaptor.nil();

            h1=(Token)match(input,HEADLINESYMBOL,FOLLOW_HEADLINESYMBOL_in_headline1070); 
            h1_tree = (Object)adaptor.create(h1);
            adaptor.addChild(root_0, h1_tree);

            pushFollow(FOLLOW_text_in_headline1074);
            t=text();

            state._fsp--;

            adaptor.addChild(root_0, t.getTree());
            h2=(Token)match(input,HEADLINESYMBOL,FOLLOW_HEADLINESYMBOL_in_headline1078); 
            h2_tree = (Object)adaptor.create(h2);
            adaptor.addChild(root_0, h2_tree);


            		if((h1!=null?h1.getText():null).length() == (h2!=null?h2.getText():null).length())
                  retval.value = new Headline((t!=null?t.value:null).toString(), (h1!=null?h1.getText():null).length()-1) ;
                else 
                {
                  if((h1!=null?h1.getText():null).length() > (h2!=null?h2.getText():null).length())
                    retval.value = new Headline((h1!=null?h1.getText():null).substring( (h2!=null?h2.getText():null).length()) + (t!=null?t.value:null).toString(), (h2!=null?h2.getText():null).length()-1) ;
                  else
                    retval.value = new Headline((t!=null?t.value:null).toString() + (h2!=null?h2.getText():null).substring( (h1!=null?h1.getText():null).length()), (h1!=null?h1.getText():null).length()-1) ;
                    
                }
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "headline"

    public static class textBlock_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "textBlock"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:302:1: textBlock : ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK ) ;
    public final MediaWikiParser.textBlock_return textBlock() throws RecognitionException {
        MediaWikiParser.textBlock_return retval = new MediaWikiParser.textBlock_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set25=null;

        Object set25_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:302:11: ( ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:303:2: ( WHITESPACE | WORD | PUNCTUATIONMARK | NUMBER | SPECIALPUNCTUATIONMARK )
            {
            root_0 = (Object)adaptor.nil();

            set25=(Token)input.LT(1);
            if ( (input.LA(1)>=WHITESPACE && input.LA(1)<=SPECIALPUNCTUATIONMARK) ) {
                input.consume();
                adaptor.addChild(root_0, (Object)adaptor.create(set25));
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "textBlock"

    public static class image_return extends ParserRuleReturnScope {
        public Image value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "image"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:305:1: image returns [Image value] : IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC ;
    public final MediaWikiParser.image_return image() throws RecognitionException {
        MediaWikiParser.image_return retval = new MediaWikiParser.image_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token a=null;
        Token s=null;
        Token IMAGESYMBOL26=null;
        Token LINKTEXTSYMBOL27=null;
        Token IMAGESYMBOLC28=null;
        MediaWikiParser.linkText_return p = null;

        MediaWikiParser.text_return t = null;


        Object a_tree=null;
        Object s_tree=null;
        Object IMAGESYMBOL26_tree=null;
        Object LINKTEXTSYMBOL27_tree=null;
        Object IMAGESYMBOLC28_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:305:29: ( IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:2: IMAGESYMBOL (p= linkText | a= ADDRESS ) (s= SIZE )? ( LINKTEXTSYMBOL t= text )? IMAGESYMBOLC
            {
            root_0 = (Object)adaptor.nil();

            IMAGESYMBOL26=(Token)match(input,IMAGESYMBOL,FOLLOW_IMAGESYMBOL_in_image1124); 
            IMAGESYMBOL26_tree = (Object)adaptor.create(IMAGESYMBOL26);
            adaptor.addChild(root_0, IMAGESYMBOL26_tree);

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:14: (p= linkText | a= ADDRESS )
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( (LA12_0==NEWLINE||(LA12_0>=LINKTEXTSYMBOL && LA12_0<=LINKSYMBOLC)||(LA12_0>=WHITESPACE && LA12_0<=SPECIALPUNCTUATIONMARK)||(LA12_0>=SIZE && LA12_0<=IMAGESYMBOLC)||LA12_0==HEADERTABLESYMBOL) ) {
                alt12=1;
            }
            else if ( (LA12_0==ADDRESS) ) {
                alt12=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;
            }
            switch (alt12) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:15: p= linkText
                    {
                    pushFollow(FOLLOW_linkText_in_image1129);
                    p=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, p.getTree());

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:28: a= ADDRESS
                    {
                    a=(Token)match(input,ADDRESS,FOLLOW_ADDRESS_in_image1135); 
                    a_tree = (Object)adaptor.create(a);
                    adaptor.addChild(root_0, a_tree);


                    }
                    break;

            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:39: (s= SIZE )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==SIZE) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:40: s= SIZE
                    {
                    s=(Token)match(input,SIZE,FOLLOW_SIZE_in_image1141); 
                    s_tree = (Object)adaptor.create(s);
                    adaptor.addChild(root_0, s_tree);


                    }
                    break;

            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:49: ( LINKTEXTSYMBOL t= text )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==LINKTEXTSYMBOL) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:306:50: LINKTEXTSYMBOL t= text
                    {
                    LINKTEXTSYMBOL27=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_image1146); 
                    LINKTEXTSYMBOL27_tree = (Object)adaptor.create(LINKTEXTSYMBOL27);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL27_tree);

                    pushFollow(FOLLOW_text_in_image1150);
                    t=text();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());

                    }
                    break;

            }

            IMAGESYMBOLC28=(Token)match(input,IMAGESYMBOLC,FOLLOW_IMAGESYMBOLC_in_image1154); 
            IMAGESYMBOLC28_tree = (Object)adaptor.create(IMAGESYMBOLC28);
            adaptor.addChild(root_0, IMAGESYMBOLC28_tree);


            		IComponent left = null ;
            		String addressString = null ;
            		if((s!=null?s.getText():null) != null)
            		{
            			String[] sizeTable = (s!=null?s.getText():null).substring(1).split("x") ;
            			String x = sizeTable[0] ;
            			String y = null ;
            			if(sizeTable.length > 1) 
            				y = sizeTable[1] ;
            			if((p!=null?p.value:null) != null)
            				left = new ResizableImage(new Text((p!=null?p.value:null).toString(),null), new Size(x, y)) ;
            			else
            				left = new ResizableImage(new Text((a!=null?a.getText():null), null), new Size(x, y)) ;
            		}
            		else
            		{	
            		  int lastIndex = -1 ;	
            		  if(a != null)
              		  lastIndex = (a!=null?a.getText():null).lastIndexOf("?") ;
            		  Size size2 = null ;
            		  if(lastIndex > 0)
            		  {
              		  String size = (a!=null?a.getText():null).substring(lastIndex + 1) ;
              		  if(size.matches("\\d+x?\\d*"))
              		  {
              		    addressString = (a!=null?a.getText():null).substring(0, lastIndex) ;
              		    String[] sizeTable = size.split("x") ;
                      String x = sizeTable[0] ;
                      String y = null ;
                      if(sizeTable.length > 1) 
                        y = sizeTable[1] ;
                      size2 = new Size(x, y) ;
              		  }
            		  }
            		  if(size2 == null)
            		  {
            				if((p!=null?p.value:null) != null)
            					left = new Text((p!=null?p.value:null).toString(), null) ;
            				else
            					left = new Text((a!=null?a.getText():null), null) ;
            			}
            			else
            			{
            	        left = new ResizableImage(new Text(addressString, null), size2) ;
            			}
            		}
            		if((t!=null?t.value:null) != null)
            			retval.value = new Image(left, new Text((t!=null?t.value:null).toString(), null)) ;		
            		else
            			retval.value = new Image(left, null) ;		
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "image"

    public static class list_return extends ParserRuleReturnScope {
        public AbstractWikiList value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "list"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:360:1: list returns [AbstractWikiList value] : l= LISTSYMBOL li= line ( NEWLINE | lis= list ) ;
    public final MediaWikiParser.list_return list() throws RecognitionException {
        MediaWikiParser.list_return retval = new MediaWikiParser.list_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token l=null;
        Token NEWLINE29=null;
        MediaWikiParser.line_return li = null;

        MediaWikiParser.list_return lis = null;


        Object l_tree=null;
        Object NEWLINE29_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:360:39: (l= LISTSYMBOL li= line ( NEWLINE | lis= list ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:361:2: l= LISTSYMBOL li= line ( NEWLINE | lis= list )
            {
            root_0 = (Object)adaptor.nil();

            l=(Token)match(input,LISTSYMBOL,FOLLOW_LISTSYMBOL_in_list1174); 
            l_tree = (Object)adaptor.create(l);
            adaptor.addChild(root_0, l_tree);

            pushFollow(FOLLOW_line_in_list1178);
            li=line();

            state._fsp--;

            adaptor.addChild(root_0, li.getTree());
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:361:23: ( NEWLINE | lis= list )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==NEWLINE) ) {
                alt15=1;
            }
            else if ( (LA15_0==LISTSYMBOL) ) {
                alt15=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:361:24: NEWLINE
                    {
                    NEWLINE29=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_list1181); 
                    NEWLINE29_tree = (Object)adaptor.create(NEWLINE29);
                    adaptor.addChild(root_0, NEWLINE29_tree);


                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:361:34: lis= list
                    {
                    pushFollow(FOLLOW_list_in_list1187);
                    lis=list();

                    state._fsp--;

                    adaptor.addChild(root_0, lis.getTree());

                    }
                    break;

            }


            	  IComponent nextListItem ;
            	  IComponent text = null ;
            	  if(!(li!=null?input.toString(li.start,li.stop):null).equals(""))
            	     text = new Text((li!=null?input.toString(li.start,li.stop):null), null) ;
            	  if((lis!=null?lis.value:null) == null)
                  nextListItem = new Text("\n", null) ;
                else
                  nextListItem = (lis!=null?lis.value:null) ;
            		if((l!=null?l.getText():null).endsWith("*"))
            			retval.value = new UnorderedList(new Text((li!=null?input.toString(li.start,li.stop):null), null), nextListItem ) ;
            		else
            			retval.value = new OrderedList(text, nextListItem) ;
            		int level = (l!=null?l.getText():null).length() / 2;
            		((AbstractWikiList)retval.value).setLevel(level) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "list"

    public static class qouting_return extends ParserRuleReturnScope {
        public Quote value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "qouting"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:379:1: qouting returns [Quote value] : (q= QUOTINGSYMBOL ) (l= line ) ;
    public final MediaWikiParser.qouting_return qouting() throws RecognitionException {
        MediaWikiParser.qouting_return retval = new MediaWikiParser.qouting_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token q=null;
        MediaWikiParser.line_return l = null;


        Object q_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:379:31: ( (q= QUOTINGSYMBOL ) (l= line ) )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:380:2: (q= QUOTINGSYMBOL ) (l= line )
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:380:2: (q= QUOTINGSYMBOL )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:380:3: q= QUOTINGSYMBOL
            {
            q=(Token)match(input,QUOTINGSYMBOL,FOLLOW_QUOTINGSYMBOL_in_qouting1208); 
            q_tree = (Object)adaptor.create(q);
            adaptor.addChild(root_0, q_tree);


            }

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:380:20: (l= line )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:380:21: l= line
            {
            pushFollow(FOLLOW_line_in_qouting1214);
            l=line();

            state._fsp--;

            adaptor.addChild(root_0, l.getTree());

            }


            		retval.value = new Quote((l!=null?input.toString(l.start,l.stop):null), (q!=null?q.getText():null).length() - 3) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "qouting"

    public static class table_return extends ParserRuleReturnScope {
        public Table value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "table"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:385:1: table returns [Table value] : HEADERTABLESYMBOL head= tableHeader row= tableRows ;
    public final MediaWikiParser.table_return table() throws RecognitionException {
        MediaWikiParser.table_return retval = new MediaWikiParser.table_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HEADERTABLESYMBOL30=null;
        MediaWikiParser.tableHeader_return head = null;

        MediaWikiParser.tableRows_return row = null;


        Object HEADERTABLESYMBOL30_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:385:29: ( HEADERTABLESYMBOL head= tableHeader row= tableRows )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:386:2: HEADERTABLESYMBOL head= tableHeader row= tableRows
            {
            root_0 = (Object)adaptor.nil();

            HEADERTABLESYMBOL30=(Token)match(input,HEADERTABLESYMBOL,FOLLOW_HEADERTABLESYMBOL_in_table1232); 
            HEADERTABLESYMBOL30_tree = (Object)adaptor.create(HEADERTABLESYMBOL30);
            adaptor.addChild(root_0, HEADERTABLESYMBOL30_tree);

            pushFollow(FOLLOW_tableHeader_in_table1236);
            head=tableHeader();

            state._fsp--;

            adaptor.addChild(root_0, head.getTree());
            pushFollow(FOLLOW_tableRows_in_table1240);
            row=tableRows();

            state._fsp--;

            adaptor.addChild(root_0, row.getTree());

            		retval.value = new Table((IComponent)(head!=null?head.value:null), (IComponent)(row!=null?row.value:null)) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "table"

    public static class tableHeader_return extends ParserRuleReturnScope {
        public TableHeader value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableHeader"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:391:1: tableHeader returns [TableHeader value] : (t= linkText HEADERTABLESYMBOL h= tableHeader | NEWLINE );
    public final MediaWikiParser.tableHeader_return tableHeader() throws RecognitionException {
        MediaWikiParser.tableHeader_return retval = new MediaWikiParser.tableHeader_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HEADERTABLESYMBOL31=null;
        Token NEWLINE32=null;
        MediaWikiParser.linkText_return t = null;

        MediaWikiParser.tableHeader_return h = null;


        Object HEADERTABLESYMBOL31_tree=null;
        Object NEWLINE32_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:391:41: (t= linkText HEADERTABLESYMBOL h= tableHeader | NEWLINE )
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( ((LA16_0>=WHITESPACE && LA16_0<=SPECIALPUNCTUATIONMARK)||LA16_0==HEADERTABLESYMBOL) ) {
                alt16=1;
            }
            else if ( (LA16_0==NEWLINE) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:392:2: t= linkText HEADERTABLESYMBOL h= tableHeader
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_linkText_in_tableHeader1258);
                    t=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    HEADERTABLESYMBOL31=(Token)match(input,HEADERTABLESYMBOL,FOLLOW_HEADERTABLESYMBOL_in_tableHeader1260); 
                    HEADERTABLESYMBOL31_tree = (Object)adaptor.create(HEADERTABLESYMBOL31);
                    adaptor.addChild(root_0, HEADERTABLESYMBOL31_tree);

                    pushFollow(FOLLOW_tableHeader_in_tableHeader1264);
                    h=tableHeader();

                    state._fsp--;

                    adaptor.addChild(root_0, h.getTree());

                    		retval.value = new TableHeader(new Text((t!=null?t.value:null).toString(), null), (IComponent)(h!=null?h.value:null)) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:396:4: NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE32=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_tableHeader1273); 
                    NEWLINE32_tree = (Object)adaptor.create(NEWLINE32);
                    adaptor.addChild(root_0, NEWLINE32_tree);


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableHeader"

    public static class tableRows_return extends ParserRuleReturnScope {
        public Table value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableRows"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:402:1: tableRows returns [Table value] : ( LINKTEXTSYMBOL row= tableRow next= tableRows | () );
    public final MediaWikiParser.tableRows_return tableRows() throws RecognitionException {
        MediaWikiParser.tableRows_return retval = new MediaWikiParser.tableRows_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token LINKTEXTSYMBOL33=null;
        MediaWikiParser.tableRow_return row = null;

        MediaWikiParser.tableRows_return next = null;


        Object LINKTEXTSYMBOL33_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:402:32: ( LINKTEXTSYMBOL row= tableRow next= tableRows | () )
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==LINKTEXTSYMBOL) ) {
                alt17=1;
            }
            else if ( (LA17_0==EOF||(LA17_0>=NEWLINE && LA17_0<=BOLDANDITALIC)||(LA17_0>=UNDERLINESYMBOL && LA17_0<=FOOTNOTESYMBOL)||(LA17_0>=NEWLINESYMBOL && LA17_0<=ADDRESS)||(LA17_0>=MAIL && LA17_0<=IMAGESYMBOL)||(LA17_0>=LISTSYMBOL && LA17_0<=HTML)||LA17_0==HTML2||LA17_0==PHP||LA17_0==PHP2||(LA17_0>=MARKUP && LA17_0<=NOTOC)) ) {
                alt17=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 17, 0, input);

                throw nvae;
            }
            switch (alt17) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:403:2: LINKTEXTSYMBOL row= tableRow next= tableRows
                    {
                    root_0 = (Object)adaptor.nil();

                    LINKTEXTSYMBOL33=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_tableRows1291); 
                    LINKTEXTSYMBOL33_tree = (Object)adaptor.create(LINKTEXTSYMBOL33);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL33_tree);

                    pushFollow(FOLLOW_tableRow_in_tableRows1295);
                    row=tableRow();

                    state._fsp--;

                    adaptor.addChild(root_0, row.getTree());
                    pushFollow(FOLLOW_tableRows_in_tableRows1299);
                    next=tableRows();

                    state._fsp--;

                    adaptor.addChild(root_0, next.getTree());

                    		retval.value = new Table((IComponent)(row!=null?row.value:null), (IComponent)(next!=null?next.value:null)) ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:407:4: ()
                    {
                    root_0 = (Object)adaptor.nil();

                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:407:4: ()
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:407:5: 
                    {
                    }


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableRows"

    public static class tableRow_return extends ParserRuleReturnScope {
        public TableRow value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "tableRow"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:412:1: tableRow returns [TableRow value] : (l= linkText LINKTEXTSYMBOL t= tableRow | NEWLINE );
    public final MediaWikiParser.tableRow_return tableRow() throws RecognitionException {
        MediaWikiParser.tableRow_return retval = new MediaWikiParser.tableRow_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token LINKTEXTSYMBOL34=null;
        Token NEWLINE35=null;
        MediaWikiParser.linkText_return l = null;

        MediaWikiParser.tableRow_return t = null;


        Object LINKTEXTSYMBOL34_tree=null;
        Object NEWLINE35_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:412:35: (l= linkText LINKTEXTSYMBOL t= tableRow | NEWLINE )
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==LINKTEXTSYMBOL||(LA18_0>=WHITESPACE && LA18_0<=SPECIALPUNCTUATIONMARK)) ) {
                alt18=1;
            }
            else if ( (LA18_0==NEWLINE) ) {
                alt18=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;
            }
            switch (alt18) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:413:2: l= linkText LINKTEXTSYMBOL t= tableRow
                    {
                    root_0 = (Object)adaptor.nil();

                    pushFollow(FOLLOW_linkText_in_tableRow1330);
                    l=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, l.getTree());
                    LINKTEXTSYMBOL34=(Token)match(input,LINKTEXTSYMBOL,FOLLOW_LINKTEXTSYMBOL_in_tableRow1332); 
                    LINKTEXTSYMBOL34_tree = (Object)adaptor.create(LINKTEXTSYMBOL34);
                    adaptor.addChild(root_0, LINKTEXTSYMBOL34_tree);

                    pushFollow(FOLLOW_tableRow_in_tableRow1336);
                    t=tableRow();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    	
                    		if((l!=null?l.value:null) != null)
                    			retval.value = new TableRow(new Text((l!=null?l.value:null).toString(), null), (IComponent)(t!=null?t.value:null)) ;
                    		else
                    			retval.value = new TableRow(null, (IComponent)(t!=null?t.value:null)) ;
                    			
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:421:4: NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    NEWLINE35=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_tableRow1344); 
                    NEWLINE35_tree = (Object)adaptor.create(NEWLINE35);
                    adaptor.addChild(root_0, NEWLINE35_tree);


                    		retval.value = null ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "tableRow"

    public static class noWiki_return extends ParserRuleReturnScope {
        public NoWikiBlock value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noWiki"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:426:1: noWiki returns [NoWikiBlock value] : ( NOWIKI t= mediaWikiFile NOWIKIC | NOWIKI2 a= allWithoutNowiki2 NOWIKI2 );
    public final MediaWikiParser.noWiki_return noWiki() throws RecognitionException {
        MediaWikiParser.noWiki_return retval = new MediaWikiParser.noWiki_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOWIKI36=null;
        Token NOWIKIC37=null;
        Token NOWIKI238=null;
        Token NOWIKI239=null;
        MediaWikiParser.mediaWikiFile_return t = null;

        MediaWikiParser.allWithoutNowiki2_return a = null;


        Object NOWIKI36_tree=null;
        Object NOWIKIC37_tree=null;
        Object NOWIKI238_tree=null;
        Object NOWIKI239_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:426:36: ( NOWIKI t= mediaWikiFile NOWIKIC | NOWIKI2 a= allWithoutNowiki2 NOWIKI2 )
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( (LA19_0==NOWIKI) ) {
                alt19=1;
            }
            else if ( (LA19_0==NOWIKI2) ) {
                alt19=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 19, 0, input);

                throw nvae;
            }
            switch (alt19) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:427:2: NOWIKI t= mediaWikiFile NOWIKIC
                    {
                    root_0 = (Object)adaptor.nil();

                    NOWIKI36=(Token)match(input,NOWIKI,FOLLOW_NOWIKI_in_noWiki1362); 
                    NOWIKI36_tree = (Object)adaptor.create(NOWIKI36);
                    adaptor.addChild(root_0, NOWIKI36_tree);

                    pushFollow(FOLLOW_mediaWikiFile_in_noWiki1366);
                    t=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    NOWIKIC37=(Token)match(input,NOWIKIC,FOLLOW_NOWIKIC_in_noWiki1368); 
                    NOWIKIC37_tree = (Object)adaptor.create(NOWIKIC37);
                    adaptor.addChild(root_0, NOWIKIC37_tree);


                    		retval.value = new NoWikiBlock((t!=null?t.value:null).toDokuWiki()) ; ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:431:4: NOWIKI2 a= allWithoutNowiki2 NOWIKI2
                    {
                    root_0 = (Object)adaptor.nil();

                    NOWIKI238=(Token)match(input,NOWIKI2,FOLLOW_NOWIKI2_in_noWiki1377); 
                    NOWIKI238_tree = (Object)adaptor.create(NOWIKI238);
                    adaptor.addChild(root_0, NOWIKI238_tree);

                    pushFollow(FOLLOW_allWithoutNowiki2_in_noWiki1381);
                    a=allWithoutNowiki2();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    NOWIKI239=(Token)match(input,NOWIKI2,FOLLOW_NOWIKI2_in_noWiki1383); 
                    NOWIKI239_tree = (Object)adaptor.create(NOWIKI239);
                    adaptor.addChild(root_0, NOWIKI239_tree);


                    	 retval.value = new NoWikiBlock((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noWiki"

    public static class allWithoutNowiki2_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutNowiki2"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:436:1: allWithoutNowiki2 : (~ NOWIKI2 )* ;
    public final MediaWikiParser.allWithoutNowiki2_return allWithoutNowiki2() throws RecognitionException {
        MediaWikiParser.allWithoutNowiki2_return retval = new MediaWikiParser.allWithoutNowiki2_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set40=null;

        Object set40_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:436:19: ( (~ NOWIKI2 )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:437:3: (~ NOWIKI2 )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:437:3: (~ NOWIKI2 )*
            loop20:
            do {
                int alt20=2;
                int LA20_0 = input.LA(1);

                if ( ((LA20_0>=NEWLINE && LA20_0<=NOWIKIC)||(LA20_0>=CODE && LA20_0<=DESCRIPTION)) ) {
                    alt20=1;
                }


                switch (alt20) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:437:4: ~ NOWIKI2
            	    {
            	    set40=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=NOWIKIC)||(input.LA(1)>=CODE && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set40));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop20;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutNowiki2"

    public static class codeBlock_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "codeBlock"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:439:1: codeBlock returns [IComponent value] : (c= CODE t= mediaWikiFile CODEC | f= FILE s= mediaWikiFile FILEC | c= CODESECTION u= linkText NEWLINE );
    public final MediaWikiParser.codeBlock_return codeBlock() throws RecognitionException {
        MediaWikiParser.codeBlock_return retval = new MediaWikiParser.codeBlock_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token c=null;
        Token f=null;
        Token CODEC41=null;
        Token FILEC42=null;
        Token NEWLINE43=null;
        MediaWikiParser.mediaWikiFile_return t = null;

        MediaWikiParser.mediaWikiFile_return s = null;

        MediaWikiParser.linkText_return u = null;


        Object c_tree=null;
        Object f_tree=null;
        Object CODEC41_tree=null;
        Object FILEC42_tree=null;
        Object NEWLINE43_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:439:38: (c= CODE t= mediaWikiFile CODEC | f= FILE s= mediaWikiFile FILEC | c= CODESECTION u= linkText NEWLINE )
            int alt21=3;
            switch ( input.LA(1) ) {
            case CODE:
                {
                alt21=1;
                }
                break;
            case FILE:
                {
                alt21=2;
                }
                break;
            case CODESECTION:
                {
                alt21=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;
            }

            switch (alt21) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:440:2: c= CODE t= mediaWikiFile CODEC
                    {
                    root_0 = (Object)adaptor.nil();

                    c=(Token)match(input,CODE,FOLLOW_CODE_in_codeBlock1418); 
                    c_tree = (Object)adaptor.create(c);
                    adaptor.addChild(root_0, c_tree);

                    pushFollow(FOLLOW_mediaWikiFile_in_codeBlock1422);
                    t=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, t.getTree());
                    CODEC41=(Token)match(input,CODEC,FOLLOW_CODEC_in_codeBlock1424); 
                    CODEC41_tree = (Object)adaptor.create(CODEC41);
                    adaptor.addChild(root_0, CODEC41_tree);


                    		retval.value = new CodeBlock(((IComponent)(t!=null?t.value:null)).toDokuWiki()) ;
                    		if((c!=null?c.getText():null).length() > 6)
                    		{
                    			String language = (c!=null?c.getText():null).substring((c!=null?c.getText():null).indexOf(' ') + 1, (c!=null?c.getText():null).length() -1) ;
                    			((CodeBlock)retval.value).setLanguage(language) ;
                    		}
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:449:4: f= FILE s= mediaWikiFile FILEC
                    {
                    root_0 = (Object)adaptor.nil();

                    f=(Token)match(input,FILE,FOLLOW_FILE_in_codeBlock1434); 
                    f_tree = (Object)adaptor.create(f);
                    adaptor.addChild(root_0, f_tree);

                    pushFollow(FOLLOW_mediaWikiFile_in_codeBlock1438);
                    s=mediaWikiFile();

                    state._fsp--;

                    adaptor.addChild(root_0, s.getTree());
                    FILEC42=(Token)match(input,FILEC,FOLLOW_FILEC_in_codeBlock1440); 
                    FILEC42_tree = (Object)adaptor.create(FILEC42);
                    adaptor.addChild(root_0, FILEC42_tree);


                    		retval.value = new CodeBlock(((IComponent)(s!=null?s.value:null)).toDokuWiki()) ;
                    		if((f!=null?f.getText():null).length() > 6)
                    		{
                    			String language = (f!=null?f.getText():null).substring((f!=null?f.getText():null).indexOf(' ') + 1, (f!=null?f.getText():null).length() -1) ;
                    			((CodeBlock)retval.value).setLanguage(language) ;
                    		}
                    	

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:458:4: c= CODESECTION u= linkText NEWLINE
                    {
                    root_0 = (Object)adaptor.nil();

                    c=(Token)match(input,CODESECTION,FOLLOW_CODESECTION_in_codeBlock1450); 
                    c_tree = (Object)adaptor.create(c);
                    adaptor.addChild(root_0, c_tree);

                    pushFollow(FOLLOW_linkText_in_codeBlock1454);
                    u=linkText();

                    state._fsp--;

                    adaptor.addChild(root_0, u.getTree());
                    NEWLINE43=(Token)match(input,NEWLINE,FOLLOW_NEWLINE_in_codeBlock1456); 
                    NEWLINE43_tree = (Object)adaptor.create(NEWLINE43);
                    adaptor.addChild(root_0, NEWLINE43_tree);


                    	  if((u!=null?u.value:null) == null)
                    	     retval.value = new Text((c!=null?c.getText():null) + "\n", null) ;
                    	  else
                      		retval.value = new Text((u!=null?u.value:null).toString(), TextFormatting.VERBATIMLINE) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "codeBlock"

    public static class html_return extends ParserRuleReturnScope {
        public HTMLSection value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "html"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:466:1: html returns [HTMLSection value] : ( HTML b= allWithoutHtmlc HTMLC | HTML2 a= allWithoutHtml2C HTML2C );
    public final MediaWikiParser.html_return html() throws RecognitionException {
        MediaWikiParser.html_return retval = new MediaWikiParser.html_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token HTML44=null;
        Token HTMLC45=null;
        Token HTML246=null;
        Token HTML2C47=null;
        MediaWikiParser.allWithoutHtmlc_return b = null;

        MediaWikiParser.allWithoutHtml2C_return a = null;


        Object HTML44_tree=null;
        Object HTMLC45_tree=null;
        Object HTML246_tree=null;
        Object HTML2C47_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:466:34: ( HTML b= allWithoutHtmlc HTMLC | HTML2 a= allWithoutHtml2C HTML2C )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==HTML) ) {
                alt22=1;
            }
            else if ( (LA22_0==HTML2) ) {
                alt22=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:467:2: HTML b= allWithoutHtmlc HTMLC
                    {
                    root_0 = (Object)adaptor.nil();

                    HTML44=(Token)match(input,HTML,FOLLOW_HTML_in_html1474); 
                    HTML44_tree = (Object)adaptor.create(HTML44);
                    adaptor.addChild(root_0, HTML44_tree);

                    pushFollow(FOLLOW_allWithoutHtmlc_in_html1478);
                    b=allWithoutHtmlc();

                    state._fsp--;

                    adaptor.addChild(root_0, b.getTree());
                    HTMLC45=(Token)match(input,HTMLC,FOLLOW_HTMLC_in_html1480); 
                    HTMLC45_tree = (Object)adaptor.create(HTMLC45);
                    adaptor.addChild(root_0, HTMLC45_tree);


                    		retval.value = new HTMLSection((b!=null?input.toString(b.start,b.stop):null)) ;
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:471:4: HTML2 a= allWithoutHtml2C HTML2C
                    {
                    root_0 = (Object)adaptor.nil();

                    HTML246=(Token)match(input,HTML2,FOLLOW_HTML2_in_html1489); 
                    HTML246_tree = (Object)adaptor.create(HTML246);
                    adaptor.addChild(root_0, HTML246_tree);

                    pushFollow(FOLLOW_allWithoutHtml2C_in_html1493);
                    a=allWithoutHtml2C();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    HTML2C47=(Token)match(input,HTML2C,FOLLOW_HTML2C_in_html1495); 
                    HTML2C47_tree = (Object)adaptor.create(HTML2C47);
                    adaptor.addChild(root_0, HTML2C47_tree);


                        retval.value = new HTMLSection((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "html"

    public static class allWithoutHtmlc_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutHtmlc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:476:1: allWithoutHtmlc : (~ HTMLC )* ;
    public final MediaWikiParser.allWithoutHtmlc_return allWithoutHtmlc() throws RecognitionException {
        MediaWikiParser.allWithoutHtmlc_return retval = new MediaWikiParser.allWithoutHtmlc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set48=null;

        Object set48_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:476:17: ( (~ HTMLC )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:477:3: (~ HTMLC )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:477:3: (~ HTMLC )*
            loop23:
            do {
                int alt23=2;
                int LA23_0 = input.LA(1);

                if ( ((LA23_0>=NEWLINE && LA23_0<=HTML)||(LA23_0>=HTML2 && LA23_0<=DESCRIPTION)) ) {
                    alt23=1;
                }


                switch (alt23) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:477:4: ~ HTMLC
            	    {
            	    set48=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=HTML)||(input.LA(1)>=HTML2 && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set48));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop23;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutHtmlc"

    public static class allWithoutHtml2C_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutHtml2C"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:479:1: allWithoutHtml2C : (~ HTML2C )* ;
    public final MediaWikiParser.allWithoutHtml2C_return allWithoutHtml2C() throws RecognitionException {
        MediaWikiParser.allWithoutHtml2C_return retval = new MediaWikiParser.allWithoutHtml2C_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set49=null;

        Object set49_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:479:18: ( (~ HTML2C )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:480:3: (~ HTML2C )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:480:3: (~ HTML2C )*
            loop24:
            do {
                int alt24=2;
                int LA24_0 = input.LA(1);

                if ( ((LA24_0>=NEWLINE && LA24_0<=HTML2)||(LA24_0>=PHP && LA24_0<=DESCRIPTION)) ) {
                    alt24=1;
                }


                switch (alt24) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:480:4: ~ HTML2C
            	    {
            	    set49=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=HTML2)||(input.LA(1)>=PHP && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set49));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop24;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutHtml2C"

    public static class php_return extends ParserRuleReturnScope {
        public PHPSection value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "php"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:482:1: php returns [PHPSection value] : ( PHP d= allWithoutPhpc PHPC | PHP2 a= allWithoutPhp2c PHP2C );
    public final MediaWikiParser.php_return php() throws RecognitionException {
        MediaWikiParser.php_return retval = new MediaWikiParser.php_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token PHP50=null;
        Token PHPC51=null;
        Token PHP252=null;
        Token PHP2C53=null;
        MediaWikiParser.allWithoutPhpc_return d = null;

        MediaWikiParser.allWithoutPhp2c_return a = null;


        Object PHP50_tree=null;
        Object PHPC51_tree=null;
        Object PHP252_tree=null;
        Object PHP2C53_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:482:32: ( PHP d= allWithoutPhpc PHPC | PHP2 a= allWithoutPhp2c PHP2C )
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==PHP) ) {
                alt25=1;
            }
            else if ( (LA25_0==PHP2) ) {
                alt25=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 25, 0, input);

                throw nvae;
            }
            switch (alt25) {
                case 1 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:483:2: PHP d= allWithoutPhpc PHPC
                    {
                    root_0 = (Object)adaptor.nil();

                    PHP50=(Token)match(input,PHP,FOLLOW_PHP_in_php1542); 
                    PHP50_tree = (Object)adaptor.create(PHP50);
                    adaptor.addChild(root_0, PHP50_tree);

                    pushFollow(FOLLOW_allWithoutPhpc_in_php1546);
                    d=allWithoutPhpc();

                    state._fsp--;

                    adaptor.addChild(root_0, d.getTree());
                    PHPC51=(Token)match(input,PHPC,FOLLOW_PHPC_in_php1548); 
                    PHPC51_tree = (Object)adaptor.create(PHPC51);
                    adaptor.addChild(root_0, PHPC51_tree);


                    		retval.value = new PHPSection((d!=null?input.toString(d.start,d.stop):null)) ;	
                    	

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:487:4: PHP2 a= allWithoutPhp2c PHP2C
                    {
                    root_0 = (Object)adaptor.nil();

                    PHP252=(Token)match(input,PHP2,FOLLOW_PHP2_in_php1556); 
                    PHP252_tree = (Object)adaptor.create(PHP252);
                    adaptor.addChild(root_0, PHP252_tree);

                    pushFollow(FOLLOW_allWithoutPhp2c_in_php1560);
                    a=allWithoutPhp2c();

                    state._fsp--;

                    adaptor.addChild(root_0, a.getTree());
                    PHP2C53=(Token)match(input,PHP2C,FOLLOW_PHP2C_in_php1562); 
                    PHP2C53_tree = (Object)adaptor.create(PHP2C53);
                    adaptor.addChild(root_0, PHP2C53_tree);


                        retval.value = new PHPSection((a!=null?input.toString(a.start,a.stop):null)) ;
                    	

                    }
                    break;

            }
            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "php"

    public static class allWithoutPhpc_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutPhpc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:492:1: allWithoutPhpc : (~ PHPC )* ;
    public final MediaWikiParser.allWithoutPhpc_return allWithoutPhpc() throws RecognitionException {
        MediaWikiParser.allWithoutPhpc_return retval = new MediaWikiParser.allWithoutPhpc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set54=null;

        Object set54_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:492:16: ( (~ PHPC )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:493:3: (~ PHPC )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:493:3: (~ PHPC )*
            loop26:
            do {
                int alt26=2;
                int LA26_0 = input.LA(1);

                if ( ((LA26_0>=NEWLINE && LA26_0<=PHP)||(LA26_0>=PHP2 && LA26_0<=DESCRIPTION)) ) {
                    alt26=1;
                }


                switch (alt26) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:493:4: ~ PHPC
            	    {
            	    set54=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=PHP)||(input.LA(1)>=PHP2 && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set54));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop26;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutPhpc"

    public static class allWithoutPhp2c_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "allWithoutPhp2c"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:495:1: allWithoutPhp2c : (~ PHP2C )* ;
    public final MediaWikiParser.allWithoutPhp2c_return allWithoutPhp2c() throws RecognitionException {
        MediaWikiParser.allWithoutPhp2c_return retval = new MediaWikiParser.allWithoutPhp2c_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token set55=null;

        Object set55_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:495:17: ( (~ PHP2C )* )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:496:3: (~ PHP2C )*
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:496:3: (~ PHP2C )*
            loop27:
            do {
                int alt27=2;
                int LA27_0 = input.LA(1);

                if ( ((LA27_0>=NEWLINE && LA27_0<=PHP2)||(LA27_0>=MARKUP && LA27_0<=DESCRIPTION)) ) {
                    alt27=1;
                }


                switch (alt27) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:496:4: ~ PHP2C
            	    {
            	    set55=(Token)input.LT(1);
            	    if ( (input.LA(1)>=NEWLINE && input.LA(1)<=PHP2)||(input.LA(1)>=MARKUP && input.LA(1)<=DESCRIPTION) ) {
            	        input.consume();
            	        adaptor.addChild(root_0, (Object)adaptor.create(set55));
            	        state.errorRecovery=false;
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop27;
                }
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "allWithoutPhp2c"

    public static class markupSection_return extends ParserRuleReturnScope {
        public Text value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "markupSection"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:498:1: markupSection returns [Text value] : m= MARKUP ;
    public final MediaWikiParser.markupSection_return markupSection() throws RecognitionException {
        MediaWikiParser.markupSection_return retval = new MediaWikiParser.markupSection_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token m=null;

        Object m_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:498:36: (m= MARKUP )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:499:2: m= MARKUP
            {
            root_0 = (Object)adaptor.nil();

            m=(Token)match(input,MARKUP,FOLLOW_MARKUP_in_markupSection1612); 
            m_tree = (Object)adaptor.create(m);
            adaptor.addChild(root_0, m_tree);


            		retval.value = new Text((m!=null?m.getText():null), null) ;
            	

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "markupSection"

    public static class line_return extends ParserRuleReturnScope {
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "line"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:504:1: line : ( textBlock )+ ;
    public final MediaWikiParser.line_return line() throws RecognitionException {
        MediaWikiParser.line_return retval = new MediaWikiParser.line_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        MediaWikiParser.textBlock_return textBlock56 = null;



        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:504:6: ( ( textBlock )+ )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:505:3: ( textBlock )+
            {
            root_0 = (Object)adaptor.nil();

            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:505:3: ( textBlock )+
            int cnt28=0;
            loop28:
            do {
                int alt28=2;
                int LA28_0 = input.LA(1);

                if ( ((LA28_0>=WHITESPACE && LA28_0<=SPECIALPUNCTUATIONMARK)) ) {
                    alt28=1;
                }


                switch (alt28) {
            	case 1 :
            	    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:505:4: textBlock
            	    {
            	    pushFollow(FOLLOW_textBlock_in_line1628);
            	    textBlock56=textBlock();

            	    state._fsp--;

            	    adaptor.addChild(root_0, textBlock56.getTree());

            	    }
            	    break;

            	default :
            	    if ( cnt28 >= 1 ) break loop28;
                        EarlyExitException eee =
                            new EarlyExitException(28, input);
                        throw eee;
                }
                cnt28++;
            } while (true);


            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "line"

    public static class noCache_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noCache"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:507:1: noCache returns [IComponent value] : NOCACHE ;
    public final MediaWikiParser.noCache_return noCache() throws RecognitionException {
        MediaWikiParser.noCache_return retval = new MediaWikiParser.noCache_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOCACHE57=null;

        Object NOCACHE57_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:507:35: ( NOCACHE )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:508:2: NOCACHE
            {
            root_0 = (Object)adaptor.nil();

            NOCACHE57=(Token)match(input,NOCACHE,FOLLOW_NOCACHE_in_noCache1644); 
            NOCACHE57_tree = (Object)adaptor.create(NOCACHE57);
            adaptor.addChild(root_0, NOCACHE57_tree);

             retval.value = null;

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noCache"

    public static class noToc_return extends ParserRuleReturnScope {
        public IComponent value;
        Object tree;
        public Object getTree() { return tree; }
    };

    // $ANTLR start "noToc"
    // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:510:1: noToc returns [IComponent value] : NOTOC ;
    public final MediaWikiParser.noToc_return noToc() throws RecognitionException {
        MediaWikiParser.noToc_return retval = new MediaWikiParser.noToc_return();
        retval.start = input.LT(1);

        Object root_0 = null;

        Token NOTOC58=null;

        Object NOTOC58_tree=null;

        try {
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:510:33: ( NOTOC )
            // C:\\Documents and Settings\\Tomasz\\Pulpit\\Studia\\tk\\Projekt2\\TKProject\\src\\agh\\tk\\markuptranslation\\MediaWiki.g:511:2: NOTOC
            {
            root_0 = (Object)adaptor.nil();

            NOTOC58=(Token)match(input,NOTOC,FOLLOW_NOTOC_in_noToc1658); 
            NOTOC58_tree = (Object)adaptor.create(NOTOC58);
            adaptor.addChild(root_0, NOTOC58_tree);

             retval.value = null;

            }

            retval.stop = input.LT(-1);

            retval.tree = (Object)adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
    	retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);

        }
        finally {
        }
        return retval;
    }
    // $ANTLR end "noToc"

    // Delegated rules


 

    public static final BitSet FOLLOW_mediaWikiFile_in_start50 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mediaWikiMarkupSection_in_mediaWikiFile74 = new BitSet(new long[]{0x000755ADE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_mediaWikiFile78 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_mediaWikiFile90 = new BitSet(new long[]{0x000755ADE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_mediaWikiFile94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_mediaWikiFile104 = new BitSet(new long[]{0x000755ADE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_mediaWikiFile108 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_php_in_mediaWikiMarkupSection142 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_markupSection_in_mediaWikiMarkupSection153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_list_in_mediaWikiMarkupSection164 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_footnoteText_in_mediaWikiMarkupSection177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldAndItalicText_in_mediaWikiMarkupSection191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noCache_in_mediaWikiMarkupSection202 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noToc_in_mediaWikiMarkupSection215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_html_in_mediaWikiMarkupSection228 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_codeBlock_in_mediaWikiMarkupSection241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_table_in_mediaWikiMarkupSection254 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_qouting_in_mediaWikiMarkupSection267 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_mediaWikiMarkupSection280 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_mediaWikiMarkupSection293 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_mediaWikiMarkupSection306 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_newLine_in_mediaWikiMarkupSection317 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_link_in_mediaWikiMarkupSection330 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_mail_in_mediaWikiMarkupSection340 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_headline_in_mediaWikiMarkupSection353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_image_in_mediaWikiMarkupSection366 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_noWiki_in_mediaWikiMarkupSection379 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_horizontalRule_in_mediaWikiMarkupSection390 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HORIZONTALRULE_in_horizontalRule415 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_insideBoldText440 = new BitSet(new long[]{0x0000000003E00890L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText444 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_insideBoldText457 = new BitSet(new long[]{0x0000000003E00890L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideBoldText473 = new BitSet(new long[]{0x0000000003E00890L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText477 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideBoldText487 = new BitSet(new long[]{0x0000000003E00890L});
    public static final BitSet FOLLOW_insideBoldText_in_insideBoldText491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BOLDSYMBOL_in_boldText520 = new BitSet(new long[]{0x0000000003E008D0L});
    public static final BitSet FOLLOW_insideBoldText_in_boldText524 = new BitSet(new long[]{0x0000000000000040L});
    public static final BitSet FOLLOW_BOLDSYMBOL_in_boldText526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_insideItalicText547 = new BitSet(new long[]{0x0000000003E00850L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_insideItalicText563 = new BitSet(new long[]{0x0000000003E00850L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText567 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideItalicText579 = new BitSet(new long[]{0x0000000003E00850L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText583 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideItalicText592 = new BitSet(new long[]{0x0000000003E00850L});
    public static final BitSet FOLLOW_insideItalicText_in_insideItalicText596 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ITALICSYMBOL_in_italicText627 = new BitSet(new long[]{0x0000000003E008D0L});
    public static final BitSet FOLLOW_insideItalicText_in_italicText631 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_ITALICSYMBOL_in_italicText633 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_underlineText_in_insideBoldAndItalicText654 = new BitSet(new long[]{0x0000000003E00810L});
    public static final BitSet FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText658 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideBoldAndItalicText670 = new BitSet(new long[]{0x0000000003E00810L});
    public static final BitSet FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideBoldAndItalicText683 = new BitSet(new long[]{0x0000000003E00810L});
    public static final BitSet FOLLOW_insideBoldAndItalicText_in_insideBoldAndItalicText687 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BOLDANDITALIC_in_boldAndItalicText720 = new BitSet(new long[]{0x0000000003E00910L});
    public static final BitSet FOLLOW_insideBoldAndItalicText_in_boldAndItalicText724 = new BitSet(new long[]{0x0000000000000100L});
    public static final BitSet FOLLOW_BOLDANDITALIC_in_boldAndItalicText726 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_DELETED_in_deletedText745 = new BitSet(new long[]{0x0000000003E00410L});
    public static final BitSet FOLLOW_text_in_deletedText749 = new BitSet(new long[]{0x0000000000000400L});
    public static final BitSet FOLLOW_DELETEDC_in_deletedText751 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_boldText_in_insideUnderlineText770 = new BitSet(new long[]{0x0000000003E000D0L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_italicText_in_insideUnderlineText786 = new BitSet(new long[]{0x0000000003E000D0L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText790 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_line_in_insideUnderlineText802 = new BitSet(new long[]{0x0000000003E000D0L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_insideUnderlineText815 = new BitSet(new long[]{0x0000000003E000D0L});
    public static final BitSet FOLLOW_insideUnderlineText_in_insideUnderlineText819 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_UNDERLINESYMBOL_in_underlineText849 = new BitSet(new long[]{0x0000000003E008D0L});
    public static final BitSet FOLLOW_insideUnderlineText_in_underlineText853 = new BitSet(new long[]{0x0000000000000800L});
    public static final BitSet FOLLOW_UNDERLINESYMBOL_in_underlineText855 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FOOTNOTESYMBOL_in_footnoteText871 = new BitSet(new long[]{0x0000000003E02010L});
    public static final BitSet FOLLOW_text_in_footnoteText875 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_FOOTNOTESYMBOLC_in_footnoteText877 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_text896 = new BitSet(new long[]{0x0000000003E00010L});
    public static final BitSet FOLLOW_text_in_text900 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_text912 = new BitSet(new long[]{0x0000000003E00010L});
    public static final BitSet FOLLOW_text_in_text916 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINESYMBOL_in_newLine942 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LINKSYMBOL_in_link958 = new BitSet(new long[]{0x0000000003E70000L});
    public static final BitSet FOLLOW_ADDRESS_in_link963 = new BitSet(new long[]{0x0000000000060000L});
    public static final BitSet FOLLOW_linkText_in_link969 = new BitSet(new long[]{0x0000000000060000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_link973 = new BitSet(new long[]{0x0000000003E40010L});
    public static final BitSet FOLLOW_text_in_link977 = new BitSet(new long[]{0x0000000000040000L});
    public static final BitSet FOLLOW_LINKSYMBOLC_in_link981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ADDRESS_in_link993 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_MAIL_in_mail1014 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_linkText1037 = new BitSet(new long[]{0x0000000003E00000L});
    public static final BitSet FOLLOW_linkText_in_linkText1041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HEADLINESYMBOL_in_headline1070 = new BitSet(new long[]{0x0000000003F00010L});
    public static final BitSet FOLLOW_text_in_headline1074 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_HEADLINESYMBOL_in_headline1078 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_textBlock1091 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IMAGESYMBOL_in_image1124 = new BitSet(new long[]{0x000000001BE30000L});
    public static final BitSet FOLLOW_linkText_in_image1129 = new BitSet(new long[]{0x0000000018020000L});
    public static final BitSet FOLLOW_ADDRESS_in_image1135 = new BitSet(new long[]{0x0000000018020000L});
    public static final BitSet FOLLOW_SIZE_in_image1141 = new BitSet(new long[]{0x0000000010020000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_image1146 = new BitSet(new long[]{0x0000000013E00010L});
    public static final BitSet FOLLOW_text_in_image1150 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_IMAGESYMBOLC_in_image1154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LISTSYMBOL_in_list1174 = new BitSet(new long[]{0x0000000003E00000L});
    public static final BitSet FOLLOW_line_in_list1178 = new BitSet(new long[]{0x0000000020000010L});
    public static final BitSet FOLLOW_NEWLINE_in_list1181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_list_in_list1187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_QUOTINGSYMBOL_in_qouting1208 = new BitSet(new long[]{0x0000000003E00000L});
    public static final BitSet FOLLOW_line_in_qouting1214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HEADERTABLESYMBOL_in_table1232 = new BitSet(new long[]{0x0000000083E00010L});
    public static final BitSet FOLLOW_tableHeader_in_table1236 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_tableRows_in_table1240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_linkText_in_tableHeader1258 = new BitSet(new long[]{0x0000000080000000L});
    public static final BitSet FOLLOW_HEADERTABLESYMBOL_in_tableHeader1260 = new BitSet(new long[]{0x0000000083E00010L});
    public static final BitSet FOLLOW_tableHeader_in_tableHeader1264 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_tableHeader1273 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_tableRows1291 = new BitSet(new long[]{0x0000000003E20010L});
    public static final BitSet FOLLOW_tableRow_in_tableRows1295 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_tableRows_in_tableRows1299 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_linkText_in_tableRow1330 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_LINKTEXTSYMBOL_in_tableRow1332 = new BitSet(new long[]{0x0000000003E20010L});
    public static final BitSet FOLLOW_tableRow_in_tableRow1336 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NEWLINE_in_tableRow1344 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOWIKI_in_noWiki1362 = new BitSet(new long[]{0x000755AFE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_noWiki1366 = new BitSet(new long[]{0x0000000200000000L});
    public static final BitSet FOLLOW_NOWIKIC_in_noWiki1368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOWIKI2_in_noWiki1377 = new BitSet(new long[]{0x7FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutNowiki2_in_noWiki1381 = new BitSet(new long[]{0x0000000400000000L});
    public static final BitSet FOLLOW_NOWIKI2_in_noWiki1383 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutNowiki21398 = new BitSet(new long[]{0x7FFFFFFBFFFFFFF2L});
    public static final BitSet FOLLOW_CODE_in_codeBlock1418 = new BitSet(new long[]{0x000755BDE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_codeBlock1422 = new BitSet(new long[]{0x0000001000000000L});
    public static final BitSet FOLLOW_CODEC_in_codeBlock1424 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FILE_in_codeBlock1434 = new BitSet(new long[]{0x000755EDE7F9D9F0L});
    public static final BitSet FOLLOW_mediaWikiFile_in_codeBlock1438 = new BitSet(new long[]{0x0000004000000000L});
    public static final BitSet FOLLOW_FILEC_in_codeBlock1440 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_CODESECTION_in_codeBlock1450 = new BitSet(new long[]{0x0000000003E00010L});
    public static final BitSet FOLLOW_linkText_in_codeBlock1454 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_NEWLINE_in_codeBlock1456 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HTML_in_html1474 = new BitSet(new long[]{0x7FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutHtmlc_in_html1478 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_HTMLC_in_html1480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_HTML2_in_html1489 = new BitSet(new long[]{0x7FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutHtml2C_in_html1493 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_HTML2C_in_html1495 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutHtmlc1509 = new BitSet(new long[]{0x7FFFFDFFFFFFFFF2L});
    public static final BitSet FOLLOW_set_in_allWithoutHtml2C1524 = new BitSet(new long[]{0x7FFFF7FFFFFFFFF2L});
    public static final BitSet FOLLOW_PHP_in_php1542 = new BitSet(new long[]{0x7FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutPhpc_in_php1546 = new BitSet(new long[]{0x0000200000000000L});
    public static final BitSet FOLLOW_PHPC_in_php1548 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PHP2_in_php1556 = new BitSet(new long[]{0x7FFFFFFFFFFFFFF0L});
    public static final BitSet FOLLOW_allWithoutPhp2c_in_php1560 = new BitSet(new long[]{0x0000800000000000L});
    public static final BitSet FOLLOW_PHP2C_in_php1562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_set_in_allWithoutPhpc1577 = new BitSet(new long[]{0x7FFFDFFFFFFFFFF2L});
    public static final BitSet FOLLOW_set_in_allWithoutPhp2c1592 = new BitSet(new long[]{0x7FFF7FFFFFFFFFF2L});
    public static final BitSet FOLLOW_MARKUP_in_markupSection1612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_textBlock_in_line1628 = new BitSet(new long[]{0x0000000003E00002L});
    public static final BitSet FOLLOW_NOCACHE_in_noCache1644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NOTOC_in_noToc1658 = new BitSet(new long[]{0x0000000000000002L});

}